【发布时间】:2012-10-09 09:07:25
【问题描述】:
我有一个可以打开、修改和关闭的二进制文件。然后我 printf 到控制台。
这一切都很好,但我刚刚意识到它会将我打印到控制台的任何内容附加到二进制文件的末尾,无论文件是打开还是关闭都没有区别。
fprintf 也会发生同样的事情。
这里发生了什么?文件 I/O 有什么我不明白的地方吗?
更新:代码如下:
FILE *out = fopen("test","wb+");
fseek(out,0,SEEK_END);
fwrite("test",1,10,out);
fwrite("test",1,10,out);
fwrite("test",1,10,out);
int pos = ftell(out);
fwrite(&pos,sizeof(int),1,out);
fclose(out);
fprintf(stdout,"%s","hello");
【问题讨论】:
-
你能贴出演示这个的代码吗?
-
是的,如果没有代码,我们真的无法为您提供帮助。如果您向我们展示您是如何运行程序的,也会很有帮助。