C语言夜未眠7——文件读写总结

扯淡部分
————————————————————
工作两年了,回顾过去的两年时间,主要是从事c/c++方面的开发。记得当初是想找一份java的工作,面试几家都需要有经验的,庆幸自己没有进入java开发,因为自己基础实在太差。反而c/c++工作让我从头开始学习。同时,也怀念大学时写Java代码的快乐时光,倒不是喜欢Java的缘故,而是那份有充足时间来做自己喜欢的事的*。

作为程序员,到现在也没有一份自己的作品,好差劲的说。利用业余时间,争取今年能出一个小应用,:)

下面就是正文:

只读文件
————————————————————

“r”,“rb”模式

特点:只读模式,不可写。fseek等函数可用


只写文件
—————————————————————

“w”或“wb”模式
特点:只写模式,不可读,fseek,rewind()等函数可用,在文件指针所在位置开始写入。
如果文件存在,则清空
如果文件不存在,则创建


追加模式
—————————————————————
“a”模式
特点:文件不存在,创建。若存在,则追加。
不可读,fseek等可用,但是写的时候总是在文件最后写

“a+”模式
特点:和“a”模式唯一的区别在于a+是可读的,其他同a模式


读写文件
————————————————————

“r+”,“rb+”模式

特点:可读,可写,fseek()等函数可用,写的时候不会清空,只覆盖所写的部分。因此可随机读写

“rw+”模式
特点:效果同“r+”模式

“w+”模式

特点:文件存在,内容清空,不存在,则创建。之后同“r+”模式


总结
—————————————————————
  • 读文件的前提是文件必须存在
  • 默认是文本模式t,如rt,二进制模式要加b
  • 读取非文本文件应加上b(记得当初我读bmp文件时,没有以二进制形式读取,结果数据总是不对,教训啊)。

C语言夜未眠7——文件读写总结,布布扣,bubuko.com

C语言夜未眠7——文件读写总结

上一篇:从Decorator,Adapter模式看Java的IO库


下一篇:python 2.75 报UnicodeEncodeError 错误