Linux系统下,怎样用C语言判断U盘插入和拔出,并获取U盘路径?

Linux系统下,用C语言判断U盘插入和拔出,并获取U盘路径、名字和容量等信息。请大神们指点指点。

首先U盘是块设备,有专门的工具(fdisk,blockdev)可以查看U盘(/dev/sda)的具体信息,也可以通过 C语音open("/dev/sda", ...);ioctl(...)来获取U盘信息。

u盘插入后,一般会出现类似/dev/sda或者/dev/block/下面的某个设备,相应的拔出会删除此设备,C语言可以判断此设备是否存在,来判断u盘的插拔。

u盘路径的话,可以通过/proc/mounts 获取。

http://blog.csdn.net/haomcu/article/details/7005194