资源简介
linux下实现自动查找U盘,识别U盘,判断是否已经挂载(如果没有则自动挂载),然后在U盘创建文件,最后卸载U盘。
纯C代码,全部源代码,可以在fedora等桌面linux上使用,也可以在嵌入式linux下使用,测试通过。
基本原理是:
1)打开 /proc/scsi/usb-storage 目录,如果能打开说明有U盘或者移动硬盘接入,否则没有
如果有则获取移动设备的设备号,就是文件名,打开这个文件名从里面可以提前设备的序列号
2)根据设备号,在/sys/class/scsi_device/目录去找,找以该设备号开头的文件夹
这个时候需要遍历这些文件夹了
3)遍历过程:
打开其下的device
代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#define SCSI_DEV_DIR “/sys/class/scsi_device“
int check_sd_sub_dir(char *dirnamechar *diskname)
{
char *seek_sd = NULL;
DIR *dirp = NULL;
struct dirent *direntp = NULL;
int count = 0;
if ((dirp = opendir(dirname)) == NULL) {
printf(“sub funciton Open Directory %s Error:%s\n“
dirname strerror(errno));
return -1; //no block dir not usb disk device
}
//可能存在多个分区,取第一个吧
while ((direntp = readdir(dirp)) != NULL){
if (strcmp(“.“ direntp->d_name) == 0 ||
strcmp(“..“ direntp->d_name) == 0)
{
continue;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 127 2019-10-25 10:54 make.txt
文件 2560 2019-10-25 10:49 mount.c
文件 2646 2019-10-25 10:52 readSn.c
文件 3968 2019-08-29 09:37 getUdiskName.c
文件 1885 2019-10-25 10:51 main.c
----------- --------- ---------- ----- ----
11186 5
- 上一篇:面向对象的图书馆管理系统需求分析说明书
- 下一篇:基于51的点阵显示系统带仿真图
相关资源
- linux命令大全(chm)
-
tpli
nk wr720n v4 原厂固件,openwrt,无 - 细说Linux-兄弟连李明老师
- Linux系统基础教程.pdf
- ARM嵌入式Linux系统开发从入门到精通
- 鸟哥的linux私房菜(第三版)
- linux系统命令及其详解
- 嵌入式linux应用开发完全手册(韦东山
- Linux编程入门之 C 语言环境_chm
- 鸟哥的Linux私房菜
- linux 系统
- Linux从入门到精通.chm
- linux网络编程
- linux嵌入式开发
- linux基础命令教程豪华版
- linux c socket api
- Linux Netfilter编程源码
- Linux TCP 编程步骤
- linux综合实验,初级5和中级1
- linux can 应用测试程序
- Linux中图片旋转,缩放,合并
- Linux C 常用库函数手册(最新整理)
- Linux下WOL的rpm包及使用说明
- 哈工大 操作系统实验4 linux0.01信号量
- UDP 文件传输vc源代码
- linux C/S聊天,基于TCP的socket网络编程
- linux串口、网口编程类
- QQ聊天系统---linux课设
- LINUX下简单聊天工具_模拟QQ
- 福州大学Linux 操作系统设计实践报告
评论
共有 条评论