扯淡部分
————————————————————
工作两年了,回顾过去的两年时间,主要是从事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文件时,没有以二进制形式读取,结果数据总是不对,教训啊)。