Primer (十五)

IO

1. IO类有三种,头文件<iostream> 包含了istream、ostream、iostream  头文件<fstream> 包含了读写文件的ifstream、ofstream、fstream  <sstream>头文件 包含了读写string的istreamstring、ostringstream、iostringstream

2. fstream和iostringstream都是继承自iostream的,所以使用iostream的地方都可以使用这两个,都可以使用<< >>

3. IO对象不能拷贝不能赋值,不能是const的,输入时,用while(cin>>s)判断输入是否正确

4. 输出时,有缓冲区存在,方便一次输出多个,节省开销,刷新缓冲区有几种情况:1. main函数return结束 2. endl 换行刷新 ends加空字刷新 flush直接刷新

5. 这里用fstream代表fstream、ifstream、ofstream:

fstream fs(s); // s是string,把文件流绑定在一个文件上
fstream fs(s,mode); // 指定一个mode
fs.open(s); // 打开一个文件,判断if(fs.open(s))是否打开成功
fs.open(s, mode); // open也可以指定mode
fs.close(s); // 关闭一个文件,fstream被销毁时,自动执行close
6. mode有这几种:out只读、in只写、app在尾部写、ate在尾打开文件、binary二进制方式,输出时,只有指定app模式才能保留文件,ofstream f(s, ofstream::out|ofstream::app);

否则文件已有数据会被抹去

7. stringstream s.str() 返回字符串流中的字符串

while(getline(cin, line)) { // getline取一行输入,测试用例中输入为abcde edcba
    string a,b;
    istringstream ist(line); // line初始化istringstream
    ist >> a; // 第一个abcde输出到a
    ist >> b; // >>方向可以看做输出方向
    ostringstream ost;
    ost << a; // a中字符串输入到ost中
    ost << b;
    cout<<ost.str()<<endl; // 用.str()输出所有ostringstream中的字符串
}



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值