gpt4 book ai didi

c - stdio.h 函数 fopen() "w"模式下的错误场景

转载 作者:行者123 更新时间:2023-11-30 15:02:14 25 4
gpt4 key购买 nike

我在写入模式下尝试了 fopen(),看看它是否返回 NULL。我尝试打开多个同名文件,并输入无效的文件名。显然,fopen() 不关心回收的名称,因为它每次只是打开一个新文件并覆盖任何现有数据。输入无效的文件名只会导致命令行错误。我尝试过的测试用例都没有导致 fopen() 返回 NULL。

我在日常编程中从来没有遇到过这种情况,但我始终遵循这样的理念:永远不要假设文件总是会成功打开。因此,无论我对文件做什么,我总是对每个文件指针进行错误检查。

但是为了充分了解文件 I/O,我发现自己很好奇:fopen() 在“w”模式下返回 NULL 的场景(如果有的话)是什么?

最佳答案

尝试打开不存在的目录中的文件,或者您无权覆盖的文件,或者文件名中包含无效字符的文件。在这些情况下你很快就会得到 NULL。

顺便说一下,你的理念是好的,检查任何可能失败的调用通常是个好主意。当然,该规则也有异常(exception),我不会检查每个 printf 调用的返回值,但这通常是因为它不太可能在程序中稍后困扰我。

关于c - stdio.h 函数 fopen() "w"模式下的错误场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41132521/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com