问题描述
- 用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(filePath1O_WRONLY|O_CREAT|O_TRUNC755);if(fd == -1){ printf(""open error!""); return -1;}size = write(fd(char*)data50);if(size <= 0){ printf(""can't write data to usb !n""); return -1;}fdatasync(fd);close(fd);
后来测试时又发现如果程序运行后,等上半分钟以上才会在NTFS 格式的USB中创建文件,不知道是怎么回事?
希望各位高手给指导下,感激不尽~~~
解决方案
写完文件后调用fflush()
时间: 2024-11-10 00:35:37