平台是ARM上的Ubuntu Linux。 我想写一个字符串到一个文件,但我想每次都截断文件,然后写入字符串,即没有附加。用fopen打开的文件ftruncate
我有这样的代码:
f=fopen("/home/user1/refresh.txt","w");
fputs("{"some string",f);
fflush(f);
ftruncate(fileno(f),(off_t)0);
flcose(f);
如果我运行它,然后检查文件,这将是零长度和打开时,会出现什么也没有。 如果我删除fflush
调用,它不会是0(将是11),当我打开它时,会出现“一些字符串”。 这是正常的行为? 我没有问题调用fflush
,但我想在循环中执行此操作,并调用fflush
可能会大大增加执行时间。
如果不刷新缓冲区,它可以发生,这只是对'fclose'通红,截断后。 –