C++IO库 - 随便记点什么

1. C++使用标准库类来处理面向流的输入和输出:

    iostream 处理控制台IO;

    fstream处理命名文件IO;

    stringstream完成内存string 的IO;


2.  IO对象无拷贝或赋值

   


    


3.  iostream:  每个输出流管理一个缓冲区,用来保存程序读写的数据;

    导致缓冲刷新的原因(数据真正写到输出设备或文件):

    1.程序正常结束,作为main函数的return操作的一部分,缓冲刷新被执行;

    2.缓冲区慢时,需要刷新缓冲,然后新的数据才可以继续写入缓冲区;

    3.使用操作符如: endl, ends, flush来显示刷新缓冲区;

    4.在每个输出操作后,可以用操作符unitbuf设置流的内部状态,来清空缓冲区。默认情况,对cerr是设置unitbuf的,因此    写    到cerr的内容都是立即刷新的;

    5.一个输出流可能  被关联到另一个流,这种情况下,当读写被关联的流时,关联到的流的缓冲区会被刷新。例如,cin和cerr都关联到cout,因此,读cin或写cerr都会导致cout的缓冲区刷新。


    操作符endl,ends, flush刷新缓冲区: 

    endl完成换行并刷新缓冲区;

    ends向缓冲区插入一个空字符,然后刷新缓冲区;

    flush刷新缓冲区,但不输出任何额外的字符;

    测试:

    

结果:

    


关联输入输出流:


4. 文件输入输出  :  fstream

    支持文件IO的三个类型:  ifstream; ofstream;   fstream.

    读写文件模式:

    

测试代码:


5. string 流  : istringstream;  ostringstream;  stringstream;

  由于是继承自iostream, 所以可以用 <<  或  >> 符合来定向输入或输出流到 string流中:


 

第一行为输入, 可见 >> 符号是按空格当作各项的分割符的。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值