首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在fopen中使用“r+”模式时文件必须存在?

为什么在fopen中使用“r+”模式时文件必须存在?
EN

Stack Overflow用户
提问于 2014-10-22 16:57:34
回答 1查看 1.3K关注 0票数 3

当您的意图是将数据读写到文件中时,为什么要添加此约束?

我的应用程序希望在两种读取方式下打开文件。如果我使用w+,它将销毁该文件的以前的竞争,但同时它将创建该文件,如果它不存在。

但是,如果我使用r+模式,我的应用程序将正常工作,但是如果该文件不存在,它将抛出一个关于该文件不存在的异常。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-22 17:14:39

试试这样的东西。如果第一个fopen由于文件不存在而失败,则第二个fopen将尝试创建它。如果第二次会议失败,就会出现严重的问题。

代码语言:javascript
复制
if((fp = fopen("filename","r+")) == NULL) {
    if((fp = fopen("filename","w+")) == NULL) {
        return 1;
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26512927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档