当您打算将数据读取和写入文件时,为什么还要添加此约束?

我的应用程序希望以阅读模式打开文件。如果我使用w+,它将破坏文件的先前比赛,但是同时,如果文件不存在,它将创建文件。

但是,如果我使用r+模式,我的应用程序将正常运行,但是如果文件不存在,它将引发有关文件不存在的异常。

最佳答案

尝试这样的事情。如果第一个fopen因文件不存在而失败,则第二个fopen将尝试创建它。如果第二次打开失败,则存在严重问题。

if((fp = fopen("filename","r+")) == NULL) {
    if((fp = fopen("filename","w+")) == NULL) {
        return 1;
    }
}

07-24 09:46
查看更多