c - 带有 'w' 标志的 fopen 返回 "ERROR_ALREADY_EXISTS"

标签 c fopen

好的,所以我尝试使用带有参数 wfopen 打开文件 "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/

相关文章:

c - 在 GCC 中对齐 malloc()?

c - 如果使用 C 库,D 是否向后兼容 C?

c - 如何修复C字符串反函数错误?

以秒或毫秒为间隔检查条件

php - 使用 php 读取波斯语(Unicode 字符)文本文件

php - 我是使用 fopen 还是 curl 加载给定 PHP 中的 URL 的 XML 文件

c - 在 MIPS 中扩展或避免 addiu

C - 在 while 循环中直接写入数组,同时使用 recv 接收数据

c - 如何使用 c 清除文件的内容?

c - 在嵌入式系统上使用 fopen() 需要什么?