Justin1 发表于 2020-6-18 09:32:14

文件的读取关于'w'的问题

既然w已经是如果没有文件创建一个了,那还有必要写一个if语句用于判断是否赋值成功吗?感觉是多余的
#include <stdio.h>
if ((fp = fopen("hello.txt", "w")) == NULL)
      {
                printf("打开文件失败!\n");
                exit(EXIT_FAILURE);
      }

qiuyouzhi 发表于 2020-6-18 09:42:40

万一在创建的过程中遇到其他错误了呢?

Twilight6 发表于 2020-6-18 09:45:09




比如某些电脑的 C盘 写入文件时候有写入保护,或者拒绝访问啥的,应该是为了防止这些吧,或者未知错误

KevinHu 发表于 2020-6-18 09:51:39

最好还是写上,万一有别的出乎意料错误呢?

wp231957 发表于 2020-6-18 12:21:47

假设,你要打开的文件名是存在并且打开状态,那你再新建同文件名会失败

Fire4EVER 发表于 2020-6-18 13:15:18

顶 同问

三只虎鲸 发表于 2020-6-18 13:51:37

有最佳答案嘛

热气球 发表于 2020-6-18 13:58:56

必要呢,万一遇到系统的一些其他错误,比如在只读目录写文件,创建文件失败,必要的判断还是需要的。这样可以很好提高代码鲁棒性

405794672 发表于 2020-6-18 16:27:15

假设没有这个文件,自动创建一个,不巧那个位置磁盘是坏道,就创建失败了。不是100%成功的

xiaosi4081 发表于 2020-6-18 17:26:09

加个,保险一些(强行打开c盘文件会蓝屏)

编程鱼C 发表于 2020-6-18 18:40:45

这样保险

肥你个橙c 发表于 2020-6-18 19:05:27

就是跟小甲鱼说的一样,系统也有偷懒的时候,它有时候也会不知道什么原因,使得进程失败!所以这个条件是必要的!

Justin1 发表于 2020-6-19 08:09:24

wp231957 发表于 2020-6-18 12:21
假设,你要打开的文件名是存在并且打开状态,那你再新建同文件名会失败

devc++和visual studio上都有可以执行

梦想灬远帆 发表于 2020-6-19 09:44:01

万一创建失败,这是有可能发生的事情,这是如果程序没有进行if判断而继续往下执行,可能会导致程序崩溃

Justin1 发表于 2020-6-19 11:26:58

各位大佬能给个例子吗,文字上大概懂了
页: [1]
查看完整版本: 文件的读取关于'w'的问题