我有一个可以打开、修改和关闭的二进制文件。然后我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");