C++Primer读书笔记(第八章)
来源:互联网 发布:斗战神精炼软件 编辑:程序博客网 时间:2024/06/07 14:51
第八章标准IO库
8.1 面向对象的标准库
IO对象不允许做复制或赋值操作,形参和返回类型也不能为流类型,如果需要传递或返回IO对象,则必须传递或返回指向该对象的指针或引用(引用必须是非const)。
8.2 条件状态
IO标准库管理一系列条件状态成员,用来标记给定IO对象是否处于可用状态,或者碰到哪种特定的错误。每个IO类定义了三个iostate类型的常量值:badbit(标志着系统级故障,如无法恢复的读写错误)、failbit(可恢复的错误)和eofbit(遇到文件结束符)。有4个操作可以显示流状态:bad()、 fail()、eof()和good()。有clear()和setstate(flag)操作可用于改变条件成员的状态。
8.3 输出缓冲区的管理
每个IO对象管理一个缓冲区,用于存储程序读写的数据。缓冲区的内容被刷新,即写入到真是的输出设备或文件。一般使用操纵符:flush(刷新且不输出任何多余字符)、ends(刷新+空字符)和endl(刷新+换行)。若要刷新所有输出,可以使用unitbuf操纵符:
cout<< unitbuf <<”first” << “second” << nounitbuf;
如果程序崩溃了,则刽刷新缓冲区,所以在调试程序时候,一定要注意显示调用刷新缓冲区。
tie()函数可以将输入流和输出流绑定一起:cin.tie(&cout);保证每次cin前都会自动刷新输出缓冲区。
8.4 文件的输入和输出
fstream头文件定义了三种支持文件IO的类型:ifstream(读文件)、ofstream(写文件)和fstream(读写同一个文件)。还定义了两个自己的新操作:open(打开文件)和close(关闭文件)。
C++中文件名是用C风格字符串而不是string类型。通常比较好的方法是,用string类型保存文件名,调用时候用c_str成员获取C风格字符串。
打开文件后,通常要检验打开是否成功,这是一个好习惯。
文件模式有:in、out、binary(二进制模式操作)、app(每次写之前找到文件末尾)、ate(打开文件后立即将文件定位在文件尾)和trunc(打开文件时清空已存在的文件流)。
8.5 字符串流
istringstream、ostringstream和stringstream。
- C++Primer读书笔记(第八章)
- C++primer 第八章
- c++primer 第八章
- C++ Primer 读书笔记 – 第八章
- C++ Primer 读书笔记 – 第八章
- C++ Primer 读书笔记 – 第八章
- C++primer习题第八章
- C和指针读书笔记(第八章)
- C++Primer读书笔记(第二章)
- C++Primer读书笔记(第三章)
- C++Primer读书笔记(第四章)
- C++Primer读书笔记(第五章)
- C++Primer读书笔记(第六章)
- C++Primer读书笔记(第七章)
- C++Primer读书笔记(第九章)
- C++Primer读书笔记(第十章)
- c++primer学习笔记 ( 第八章 标准IO库)
- C primer plus 第八章 例题练习(递归)
- liunx学习呵呵发博文
- mvc Area相关技术
- C-指针1
- android 多媒体 视频播放
- Hadoop RPC详细分析
- C++Primer读书笔记(第八章)
- hadoop文件系统操作(2)
- 2010最危险的编程错误
- 【Oracle】使用bbed恢复update的数据
- 日历控件的绘制
- Win7如何解决telnet不是内部或外部命令的方案
- 互联网的时代的项目管理_谷歌_李东朔
- 博弈论学习笔记4
- 关于procps top 显示CPU占用率