当前位置: 技术问答>linux和unix
文件拷贝
来源: 互联网 发布时间:2016-03-24
本文导语: 在linux下用c写的文件拷贝的代码 把一个固定文件夹里的文件拷贝到U盘里。。两边的路径都是固定的。。 需要测试U盘是否连接正常,空间是否已满 | 可以如楼上那样使用access判断u盘是否插入...
在linux下用c写的文件拷贝的代码
把一个固定文件夹里的文件拷贝到U盘里。。两边的路径都是固定的。。
需要测试U盘是否连接正常,空间是否已满
把一个固定文件夹里的文件拷贝到U盘里。。两边的路径都是固定的。。
需要测试U盘是否连接正常,空间是否已满
|
可以如楼上那样使用access判断u盘是否插入考勤机。
但不一定是sdc,有可能是sda,sda1....sdb,sdb1等等。
注意,使用access判断sd*只是判断驱动识别出了u盘。
如过是自己挂载u盘,那自己来判断是否挂栽成功了就可以了。
如果是由系统其他地方挂载,那程序可以使用u盘挂载调用下边的函数,其中f_flag标志就是判断了该目录是否有文件系统挂栽了。下边就是打印了空间使用情况。
int gethd(char *path)
{
struct statvfs stat1;
statvfs(path,&stat1);
if(stat1.f_flag)
printf("%s total=%dK free=%dK %0.1f%%n",path,stat1.f_bsize*stat1.f_blocks/1024,stat1.f_bsize*stat1.f_bfree/1024,((float)stat1.f_blocks-(float)stat1.f_bfree)/(float)stat1.f_blocks*100);
}
但不一定是sdc,有可能是sda,sda1....sdb,sdb1等等。
注意,使用access判断sd*只是判断驱动识别出了u盘。
如过是自己挂载u盘,那自己来判断是否挂栽成功了就可以了。
如果是由系统其他地方挂载,那程序可以使用u盘挂载调用下边的函数,其中f_flag标志就是判断了该目录是否有文件系统挂栽了。下边就是打印了空间使用情况。
int gethd(char *path)
{
struct statvfs stat1;
statvfs(path,&stat1);
if(stat1.f_flag)
printf("%s total=%dK free=%dK %0.1f%%n",path,stat1.f_bsize*stat1.f_blocks/1024,stat1.f_bsize*stat1.f_bfree/1024,((float)stat1.f_blocks-(float)stat1.f_bfree)/(float)stat1.f_blocks*100);
}
|
access()函数判断是否连接正常.
如:access("/dev/sdc"),看具体U盘设备号,access可以参考man页.
copyfile函数网上很容易找到.
判断空间需要考虑一下.
如:access("/dev/sdc"),看具体U盘设备号,access可以参考man页.
copyfile函数网上很容易找到.
判断空间需要考虑一下.