好的,所以我尝试使用带有参数 w
的 fopen
打开文件 "dump.txt"
。根据MSDN ""w" 打开一个空文件进行写入。如果给定文件存在,则其内容将被销毁。"在这种情况下,fopen("dump.txt","w")
不应返回 ERROR_ALREADY_EXISTS
,因为这对于 (并且应该) 对于 w 来说并不重要。
标志。我什至尝试了 "dump.txt"
的完整路径,但无济于事。我做错了什么以及如何解决它?
最佳答案
如果文件已经存在并且正在被覆盖,fopen()
将返回一个非 NULL FILE*
指针,以便您可以写入该文件,这样您就可以一开始就不应该进行任何错误处理。除非 fopen()
返回 NULL,否则不要检查错误代码。即使如此,请确保您从 errno
获取错误代码。而不是来自 GetLastError()
。
关于c - 带有 'w' 标志的 fopen 返回 "ERROR_ALREADY_EXISTS",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25672657/