C++Primer-IO类

IO对象无拷贝或赋值
由于不能拷贝,我们无法将形参和返回类型设置成流类型,只能使用引用方式传递和返回,且不能是const

条件状态
一旦一个流发生错误,后面都会错误,所以使用时最好使用while循环进行判断
auto old_state = cin.rdstate();//流对象的rdstate成员可以返回iostate值,并赋给old_state
cin.clear();//调用clear函数的无参版本,对所有错误标志位复位
process_input(cin);//使用cin
cin.setstate(old_state);//调用setstate,对给定标志位赋值old_state,进行置位
(练习8.1)

管理缓冲输出
缓冲刷新会导致数据真正写到文件或输出设备,可以使用endl、unitbuf等操作符来显式刷新缓冲区
关联中的流可能会由于关联而刷新,例如cin、cerr与cout关联,读cin和写cerr会导致cout缓冲区刷新
刷新输出缓冲区:
endl插入一个换行,然后刷新缓冲区并输出;flush不插入额外字符,刷新缓冲区并输出;ends插入空格并刷新输出
unitbuf可以使任何输出都立即刷新,nounitbuf可以回到正常的缓冲方式
程序异常终止时,输出缓冲区不会被刷新,会有数停留在缓冲区等待打印

关联输入和输出流
cin与cout是关联的,当使用cin输入一个数,cout会因为关联而刷新
每个流同时最多关联一个流,但多个流可以同时关联一个ostream

全部评论

相关推荐

程序员花海:1.技能放最后,来面试默认你都会,技能没啥用 2.实习写的看起来没啥含金量,多读读部门文档,包装下 接LLM这个没含金量 也不要用重构这种 不会给实习生做的 3.抽奖这个还是Demo项目,实际在公司里面要考虑策略,满减,触发点,触发规则 库存 之类的,不是这个项目这么简单 4.教育背景提前,格式为 教育背景 实习 项目 技能 自我评价
简历被挂麻了,求建议
点赞 评论 收藏
分享
12-18 19:36
已编辑
门头沟学院 Java
程序员牛肉:可以的,简历没毛病了。 虽然还是偏向同质化,不过学历不错。后续我觉得重心放到刷实习+摆脱同质化问题上
实习简历求拷打
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务