与' w' flag返回" ERROR_ALREADY_EXISTS"

时间:2014-09-04 18:30:09

标签: c fopen

好的,我正在尝试使用参数"dump.txt"的{​​{1}}打开文件fopen。根据{{​​3}}“”w“打开一个空文件进行写入。如果给定文件存在,则其内容将被销毁。”在这种情况下,w不应返回fopen("dump.txt","w"),因为这会(并且应该)与ERROR_ALREADY_EXISTS标志无关。我甚至尝试了w的完整路径,但无济于事。我做错了什么,我该如何解决?

1 个答案:

答案 0 :(得分:3)

如果文件已经存在且被覆盖,fopen()将返回非NULL FILE*指针,因此您可以写入该文件,因此您不应该进行任何错误处理用。除非fopen()返回NULL,否则请勿检查错误代码。即便如此,请确保您从errno而非GetLastError()获取错误代码。