当您打算将数据读取和写入文件时,为什么还要添加此约束?
我的应用程序希望以阅读模式打开文件。如果我使用w+
,它将破坏文件的先前比赛,但是同时,如果文件不存在,它将创建文件。
但是,如果我使用r+
模式,我的应用程序将正常运行,但是如果文件不存在,它将引发有关文件不存在的异常。
最佳答案
尝试这样的事情。如果第一个fopen因文件不存在而失败,则第二个fopen将尝试创建它。如果第二次打开失败,则存在严重问题。
if((fp = fopen("filename","r+")) == NULL) {
if((fp = fopen("filename","w+")) == NULL) {
return 1;
}
}