C++学习笔记7——标准IO库

IO对象不可以复制或者赋值,所以它不能做返回类型或者是形参。若要传递或返回IO对象,则必须传递或返回指向对象的指针或引用:ofstream &print(ofstream &)

检测流是否可用的方法最简单的就是检查其真值:while(cin>>word)通过检查条件表达式返回的流间接地检查了流的状态;if(cin)直接检查流的状态。

输出缓冲区的刷新方式:1、程序正常运行结束,清空所有缓冲区。2、缓冲区已满的情况下,在下一个值到来之前刷新。3、用endl显示地刷新,endl输出一个换行符并刷新缓冲区4、用unitbuf操纵符设置流的状态,该操作符每次执行完写操作之后都刷新流。5将输入流与输出流关联起来,即cin与cout,在读入流时刷新其关联的输出缓冲区。

打开文件进行操作时,要检查文件是否打开,ifstream infile;infile.open("in");if(!infile);打开一个文件之后,又要对另一个文件进行操作时,必须先关闭现在打开的文件,然后再打开另一个。如果要重用已存在的数据流,每次都要进行infile.close();infile.clear();。打开文件的模式分为:in-读,out-写,app-写之前调至末尾,ate-打开文件后跳至末尾,

trunc-打开文件是清空已存在的文件流,binary-以二进制模式进行读写。in和out同时进行,不会清空。

在读写文件时,必须定义自己的对象,并绑定到文件上。如:ifstream ifile("aa");  或者ifstream ifile; ifile.open("aa");

字符串流的特定操作:

stringstream strm; 创建自由的stringstream对象

stringstream strm(s); 创建stringstream对象,并存储s的副本。s是string对象

strm.str();  返回strm中存储的内容

strm.str(s); 将string类型的s复制给strm,返回void

stringstream对象可以用于在多种数据类型之中自动格式化的实现。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值