USB编程

判断U盘是否被修改,可以结合如下两个方法来判断:

1.获取U盘已用空间: system("df u盘目录 | sed -e 's/sd./sdx/g > 临时文件名"); 然后读取该文件获取totalMemory, usedMemory, freeMemory

与上次插入的该数值进行比较

2.获取U盘所有文件数: system("ls -1RAU U盘目录 | sed -e 's/sd./sdx/g' >> 临时文件名");需要的话可以system("grep -cif > tempFile")来做一些过滤

然后统计文件数即可。如果不想统计,可以用system("md5sum tempFile >> tempFileResult")来计算md5sum值比对,

fgets(buffer, sizeof(buffer), tempFileResult)

result = atoi(buffer);

用这个result跟上次U盘插入时的result比较。

如果1和2都相同,说明U盘没有被修改。

可能有更好的更简单的方法来检测U盘有无修改,只是目前还不知道。可以查找usb相关开源代码,看它们是怎么处理的。



你可能感兴趣的:(usb)