文件的具体操作,fopen在不同场景的参数设置

原创 2016年06月01日 11:41:04

最近做了一些文件处理的东西,发现fopen的打开属性不同会有很大的问题,如果不认识这些而凭感觉去写代码会有很大的问题。

首先说一些fopen的打开方式:

r:打开文本文件,只能读,不能创建文件

r+:打开文本文件,能读能写,不能创建文件,不清空文件

w::打开文本文件,只能写,可以创建文件,清空文件

w+:打开文本文件,能读能写,可以创建文件,清空文件

a:打开文本文件,能读能写,可以创建文件,不清空文件(原EOF符不保留)

a+:打开文本文件,能读能写,可以创建文件,不清空文件(原EOF符保留)

在中间加"b"就是打开二进制文件,其他都一样,这个不是本文主要要说的问题。


以前给文件写内容一般都是用的“wb+",如果要保留原来的文件内容一般都用的是"ab+",所以以后都是用的这一个思路,写新文件都用"wb+",增加内容就用"ab+"。

但是最近要做一个设计,要求是修改文件当中的某一个部分,这个由于要保留一部分原文件内容,所以就用了"ab+",但是这个时候就发现了一个问题,无论我fseek到哪个位置,我fwrite的内容都是放在了文件的末尾,这个就明显不符合设计的要求。

我以为这样了要实现这个目的只能通过写缓存文件了,先把原文件内容备份到缓存文件里面,然后再用"wb+"去写原文件,然后到了写修改的内容的时候再把我修改的内容写进去,这是一个“笨”方法,但是当时我确实是想到了用这个方法。

后来我想了一下,看看"rb+"能不能写文件吧,结果发现这个是可以写文件的,而且不是用的追加方式,也不会清空文件,正是我要用的参数。


所以最后我就总结了一下文件操作的参数设置

如果想新建文件,就用w(+)

如果想增加内容,就用a(+)

如果想修改内容,就用r+




相关文章推荐

[160729]千恋*万花【日文硬盘版+汉化体验硬盘版】[带全CG存档+攻略+自动打开存档补丁]

品牌:ゆずソフト 发售日期:2016-07-29 原画: こぶいち むりりん 煎路 声优: 遥そら 小鳥居夕花 沢澤砂羽 佐藤みかん 夏野楓 桜川未央 由嘉鈍 山崎高 真宮ゆず西山冴希 剧本:...

VS2010/MFC入门编程五(对话框:模态对话框的弹出过程)

一.模态对话框和非模态对话框         Windows对话框分为两类:模态对话框和非模态对话框。        模态对话框是这样的对话框,当它弹出后,本应用程序其他窗口将不再接受用户输入,只...
  • yu__jia
  • yu__jia
  • 2014年07月10日 12:53
  • 1958

对于文件的具体操作(非常详细)

  • 2009年09月24日 11:37
  • 47KB
  • 下载

提取pdf文件文本:pdfparser与xpdf具体操作

原创转载:http://www.cnblogs.com/yinhutaxue/p/Yihoo.html 网上搜索有许多pdf文本提取相关的开发包,仅php语言就有许多。下面是本猿在实践中接触...

unity3d发布一个Android的apk文件需要具备什么环境及具体操作步骤

unity3d发布一个Android的apk文件需要具备什么环境及具体操作步骤
  • ElyXiao
  • ElyXiao
  • 2016年05月06日 17:35
  • 802

提取pdf文件文本:pdfparser与xpdf具体操作

http://www.cnblogs.com/yinhutaxue/p/Yihoo.html 网上搜索有许多pdf文本提取相关的开发包,仅php语言就有许多。下面是本猿在实践中接...

电脑文件恢复的具体操作

相信朋友们一定有这样的体会:如果仅仅是系统出错甚至彻底崩溃,最多只要花费几个小时的时间重装,很快就可以搞定。人性化的Windows操作系统其实安装起来是非常简单的,但如果是误删除的某些重要的文件,而且...

ARCGIS三维场景基本参数设置

  • 2009年01月18日 14:15
  • 63KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文件的具体操作,fopen在不同场景的参数设置
举报原因:
原因补充:

(最多只允许输入30个字)