开发者社区> 问答> 正文

用open在NTFS格式的U盘中创建文件时,要等待好久才能创建,怎么回事??

调用open函数在NTFS的U盘中创建一个文件,然后用write写入,函数返回值都正常,但是U盘里面就是没有文件。但是在FAT 格式的U盘创建文件却OK
code如下:
int fd ,size;
const char *filePath = "/mnt/sda1/data.txt";
const char *data = "abcdefg hijklmn opqrst uvwxyz";

fd = open(filePath1,O_WRONLY|O_CREAT|O_TRUNC,755);
if(fd == -1)
{

printf("open error!");
return -1;

}

size = write(fd,(char*)data,50);
if(size <= 0)
{

printf("can't write data to usb !\n");
return -1;

}
fdatasync(fd);
close(fd);

后来测试时又发现如果程序运行后,等上半分钟以上才会在NTFS 格式的USB中创建文件,不知道是怎么回事?
希望各位高手给指导下,感激不尽~~~

展开
收起
杨冬芳 2016-07-08 13:34:57 2055 0
1 条回答
写回答
取消 提交回答
  • IT从业

    写完文件后调用fflush()

    2019-07-17 19:53:18
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载