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

问题描述

用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

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

怎样解决CentOS无法读取NTFS格式硬盘问题

CentOS用户在进行ntfs磁盘设备读取的时候,发现这类格式的驱动文件无法读取,且挂载失败,出现这个问题的主要原因是CentOS不支持ntfs格式,下面小编以CentOS 6.4为例,给大家介绍下CentOS 6.4读取不了ntfs磁盘设备的解决方法. 问题: 使用的是双系统Win7和CentOS6.4.在CentOS中无法识别win7中的硬盘.但是man mount的时候,在-t参数中有ntfs的选项.但是挂载的时候总是提示出错. mount -t ntfs /dev/sda1 /media

格式化U盘没有NTFS格式选项的解决方法

  U盘是我们生活中便于携带的可存储工具,通常情况下我们会利用U盘来携带相关文件资料,但很多用户却不知,在U盘中,也包含FAT32.NTFS两种格式,之前小编为大家详细介绍过FAT32.NTFS两种格式的有点和缺点,现如今主流磁盘格式为NTFS,所以很多用户向将U盘FAT32格式转换为NTFS格式,不过有些用户在修改U盘格式时,却发现没有NTFS选项,对于该问题我们如何解决呢?下面看小编为大家带来的详细解决方案! 修复方法/步骤: 1.首先需要将U盘连接电脑,直接插入USB接口,然后让系统自动识

NTFS格式对躲过FSO木马的侵害有帮助

在宽带非常普及的今天,越来越多的朋友都热衷于架设自己的网站,虽然给系统打上了最新的补丁,也安装了杀毒软件和防火墙,但是网站还是时不时被黑,何故?很大程度上是受到了FSO木马的攻击. 在宽带非常普及的今天,越来越多的朋友都热衷于架设自己的网站,虽然给系统打上了最新的补丁,也安装了杀毒软件和防火墙,但是网站还是时不时被黑,何故?很大程度上是受到了FSO木马的攻击. 小知识:FSO是FileSystemObject的简称,俗称FSO组件,该组件可以检测并显示系统驱动器的信息分配情况,能创建.改变.删除

Linux下挂载ntfs格式移动硬盘

工作中遇到linux系统 Red Hat Enterprise5.7 挂载希捷ntfs格式移动硬盘,会跳出一个ERROR提示框:The volume 'EAGET-NQH'user the ntfs file system which is not supported by your system. 其中'EAGET-NQH'为我的移动硬盘名. 查找资料发现linux支持ntfs格式分区需要安装ntfs-3g插件,下载安装即可, 什么是NTFS-3G NTFS-3G是一个开源软件,支持在Linu

如何将NTFS格式文件系统改回FAT32格式

问:我电脑重装系统后,除了C盘外,其他几个盘的文件系统都由原来的FAT32格式变成了NTFS格式,这是怎么回事,如何改回来呢? 答:分区的文件系统不会无缘无故从FAT 32格式变成NTFS,这是你所使用的系统安装盘造成的,有些版本的安装光盘会在安装系统时自动转换文件系统格式,你没有留意而已,简单地说就是在安装时自动运行了命令:convert x: /FS:NTFS 若要想将NTFS格式转换为FAT32,如果分区中的数据不再需要的话,直接格式化分区就行. 如果想要保留数据,但又不想来回拷贝数据的话

NTFS格式分区是什么意思?fat32如何转换ntfs?

NTFS格式分区是什么意思呢? 首先说一下什么是ntfs:NTFS是一种新的硬盘格式,是Windows NT以及之后的Windows 2000.Windows XP.Windows Server 2003.Windows Server 2008.Windows Vista和Windows 7的标准文件系统. fat32如何转换ntfs? 1.可以使用WinXP自带的命令 依次点击"开始"→"运行",输入"cmd"后回车打开"命令提示符&

Win7系统使用命令将FAT32转NTFS格式的操作方法

  在电脑使用中磁盘格式NTFS是现在的主流,而对于FAT32格式的优点在这里就不详细说了.其实使用NTFS分区,是可以更好的管理磁盘,以及提高系统的安全性.那么在Win7系统中怎样使用命令将FAT32格式转成NTFS格式呢?下面脚本之家小编来为大家介绍下Win7系统使用命令将FAT32转NTFS格式的具体操作方法吧! Win7系统使用命令将FAT32转NTFS格式的操作方法如下: 1.依次选择"开始→运行"命令,在弹出对话框中输入"cmd"命令后点击 [确定](或

Win7如何使用命令将FAT32转NTFS格式?

  1.依次选择"开始→运行"命令,在弹出对话框中输入"cmd"命令后点击 [确定](或点"开始→程序→附件→命令"提示符),打开命令提示符窗口. 2.打开窗口以后,在光标的提示符下输入以下命令: convert f:/fs:ntfs 然后回车.注意在"convert"的后面有一个空格 例:convert f:/fs:ntfs 把F盘转换为NTFS格式 3.接着,如果驱动器有卷标,系统会要求你输入磁盘的卷标,然后回车;补充:查

NTFS转换方法,NTFS格式分区是什么意思

玩家经常在下载大型游戏时有时会提示,当前磁盘分区不支持大于4G的文件,请选择NTFS格式分区.如图: 这表明你的磁盘分区是fat的,因为fat.fat16.fat32都是不支持大于4G的单个文件的,只有ntfs支持你最好转换一下e盘的文件系统格式.你要把FAT32转为NTFS才可以. 这NTFS格式分区是什么意思呢? 首先说一下什么是ntfs:NTFS是一种新的硬盘格式,是Windows NT以及之后的Windows 2000.Windows XP.Windows Server 2003.Win