fstream类可以读也可以写,继承了ifstream和ofstream两个类的功能。
在做文件I/O的时候,一般的操作也就是
1 打开文件: 输出out,输入in,打开时清空trunc,追加方式app
2 读取字符,读取行: getch, getline
3 写入字符,写入行: put, oprator<<
4 判断是否是文件末尾: eof()
5 将文件缓冲区内容更新到文件: flush()
6 文件流读指针的获取和设置: tellg() seekg()
7 文件流写指针的获取和设置: tellp() seekp()
ifstream只支持tellg seekg g->get
ofstream支持tellp seekp p->put
fstream两个都支持,而且是联动的,移动读指针,写指针随之移动,移动写指针,读指针也会随之移动。
还有就是假若当前文件流的状态是eof,再移动读指针seekg(),将不起作用,必须先调用clear清除eof状态,才能使用seekg移动写指针。
还有std命名空间有一个全局函数getline可以支持读入到std::string,而不用再使用ifstream.getline(char*, ncount)然后将char*转换为string。
就这些 iostream还有许多需要注意的地方与陷阱,先挖掘到这里,继续学习下一章,不能无限的深入在一个知识点去钻牛角间,会用即可,以后遇到特殊需要再回过头来深入学习。