CppPrimer笔记 Chapter8 IO库
来源:互联网 发布:事业单位网络教育学历 编辑:程序博客网 时间:2024/05/22 14:21
CppPrimer笔记 Chapter8 IO库
标签: Cpp
- CppPrimer笔记 Chapter8 IO库
- IO类81
- 文件输入输出82
IO类(8.1)
- IO对象无拷贝或赋值,因而也不能将形参或返回类型设置为流类型,通常以引用方式传递和返回流.
- 由于读写一个IO对象会改变其状态,因此传递和返回的引用不能是const的
bool(cin)
用于检测流状态,只要出现了 badbit(崩溃),failbit(IO操作失败),eofbit(到达文件结束), 则为false
- 管理流状态
auto old_state = cin.rdstate();//记住cin当前状态cin.clear();//使cin有效process_input(cin);//使用cincin.setstate(old_state);//将cin置为原有状态cin.clear(cin.rdstate() & ~cin.failbit & ~cin.badbit);//将failbit 与 badbit 复位,但保持eofbit不变
- 管理输出缓冲区(8.1.3) 导致缓冲刷新的原因:
- 程序正常结束
- 缓冲区满
- 用
endl
来显示刷新 - 每个输出操作后,可以用
unitbuf
.默认情况下cerr
是设置unitbuf
的,因而写到cerr
的内容都是立即刷新的 - 一个输出流关联到另一个刘.读写关被联流时,关联的流会立刻刷新.默认
cin
与cerr
都关联到cout
,因此读cin
或写cerr
都会时cout
缓冲区被刷新. 因此cin>>val
导致cout的缓冲被刷新
cout<<"hi!"<<endl;//额外输出一个换行后刷新cout<<"hi!"<<flush;//不附加额外字符后刷新cout<<"hi!"<<ends;//额外输出一个空字符后刷新cout<<unitbuf;//开启:所有输出操作后都会立即刷新缓冲区cout<<nounitbuf //关闭
- 程序崩溃,输出缓冲区不会被刷新
- 每个流同时最多关联到一个流,但多个流可以同时关联到同一个ostream.
文件输入输出(8.2)
- 当一个
fstream
对象离开作用域时,它会被自动销毁,与之关联的文件会自动关闭. - 以
out
模式打开文件会丢弃已有数据
0 0
- CppPrimer笔记 Chapter8 IO库
- Cpp_Primer--Chapter8--IO库
- 【C++ Primer 学习笔记】chapter8 标准IO库
- CppPrimer笔记 Chapter17 标准库特殊设施
- CppPrimer笔记 Chapter6 函数
- CppPrimer笔记 Chapter7 类
- Qt 笔记 Chapter6-Chapter8
- CppPrimer笔记 Chapter9 顺序容器
- CppPrimer笔记 Chapter11 关联容器
- CppPrimer笔记 Chapter12 动态内存
- CppPrimer笔记 Chapter13 拷贝控制
- CppPrimer笔记 Chapter10 泛型算法
- CppPrimer笔记 Chapter15 面对对象程序设计
- CppPrimer笔记 Chapter19 特殊工具与技术
- Inside COM 笔记四(Chapter7, Chapter8)
- 《NumPy Beginner's Guide》笔记Chapter8
- 精通C#:Chapter8 接口-学习笔记
- 读书笔记:C++ primer 5th edition--chapter8.IO Lib
- CppPrimer笔记 Chapter7 类
- 【树上莫队】【树剖】【神奇的姿势】嘿嘿嘿嘿的 zy
- [Java基础要义] Java语言中Object对象的hashCode()取值的底层算法是怎样实现的?
- 参数化Casper:介于去中心化/最终化时间(finality time)/开销之间的权衡
- ....
- CppPrimer笔记 Chapter8 IO库
- [Swift]9.0swift语言中的面向对象特性
- 回忆录【二】
- Problem E: 时间类的静态成员计数
- 互联网人才什么特质最重要——“跨界”
- LeetCode 500. Keyboard Row-Java
- TCP多进程并发服务器
- CppPrimer笔记 Chapter9 顺序容器
- 信息组织与提取方法