8.1 面向对象的标准库
笔记:(1)IO类型的三个独立头文件:iostream/fstream/sstream。分别用于读写控制窗口,已命名文件,存储在内存中的string对象这三个类型。
(2)标准库对象不能做复制或赋值操作。只有支持复制操作的对象才能存放在容器中。
形参和返回类型不能是流,若要返回或返回一个IO对象,除非是返回指向该对象的引用或指针。
8.3 输出缓冲区的刷新
笔记:(1)操纵符:flush、ends、endl、unitbuf、
(2)如果程序崩溃,则不会刷新缓冲区。若要看到所有的输出,则应在每个输出后显示地加上endl或flush;
(3)在调用tie函数的时候如果传递0,则会打破已经存在的捆绑。
8.4 文件的输入输出
笔记:(1)C++中如果文件保存在string类型中,使用c_str()来打开C风格字符串。
(2)在打开文件后的一个好习惯是,检查文件是否成功打开。
(3)打开新文件时,记得清除文件流的状态(使用clear)。
(4)只要调用open函数,就要设置文件模式,如果不设置,将使用默认值。
8.5 字符串流
笔记:(1)stringstream 对象不能使用open和close,fstream不能使用str。
小结:
对于文件的输入输出还有一些不明确,应该通过多写点小程序来加固,做课后习题应该会有所帮助。