IO库
时间:2019-02-17
本文章向大家介绍IO库,主要包括IO库使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
总结:
1、不能拷贝或对IO对象赋值
eg:
ofstream out1,out2;
out1=out2; //错误,不能对流对象赋值
ofstream print=(ofstream); //错误,不能初始化ofstream参数
out2=print(out2); //错误,不能拷贝流对象
2、条件状态
一旦一个流的操作失败,其上后序的IO操作都将失败,所以可以将流当做一个条件使用
eg:
int x,t=0;
while(cin>>x){
t++;
}
while循环表示检查表达式>>返回流的状态,如果操作成功,流保吃有效状态。
(操作失败的实例:数据类型不匹配,遇到EOF)
3、string流
头文件#include<sstream>中有istringstream(从string中读入数据),ostringstream(向string中写入数据)
stringstream(可以从string中读取,写入数据)
(1)istringstream
#include<iostream>
#include<sstream>
#include<string>
#include<vector>
using namespace std;
struct Per{
string name;
vector <string> ph;
};
int main(void)
{
string line,word;
vector <Per> person;
while(getline(cin,line)){
Per pp;
istringstream record(line); //将记录绑定到刚刚读入的行
record>>pp.name;
while(record>>word){ //全部读出后结束,适用于所有的>>(流输入)
pp.ph.push_back(word);
}
person.push_back(pp);
}
for(int i=0;i<person.size();i++){
cout<<person[i].name<<endl;
for(int j=0;j<person[i].ph.size();j++){
cout<<person[i].ph[j]<<" ";
}
cout<<endl;
}
return 0;
}
/*
zzz 123 456
sdfds 1242 43543534
erter 234 546545
*/
(2)stringstream特有操作
#include<iostream>
#include<sstream>
#include<vector>
#include<string>
using namespace std;
int main(void)
{
stringstream strm;
string str;
while(cin>>str){
strm.str(str); //将str拷贝到strm中 (会覆盖)
}
cout<<strm.str()<<endl; //返回strm中所保存的string的拷贝
return 0;
}
/*
1232
dsfs
s13423
*/
- 分布式事务 TCC-Transaction 源码解析 —— 调试环境搭建
- 机器学习入门——使用python进行监督学习
- 推荐算法的介绍,第一部分——协同过滤与奇异值分解
- 在ASP中实现UNIX时间戳
- 【学术】厉害了我的哥,国外技术大咖仿造了谷歌的Arts &Culture,找到古代的“你”
- 【技巧】应赛技巧,教你如何在Kaggle比赛中排在前1%
- 熔断器 Hystrix 源码解析 —— 命令执行(一)之正常执行逻辑
- 智能主题检测与无监督机器学习:识别颜色教程
- 如何下载安装Weka机器学习工作平台
- Dubbo 源码解析 —— LoadBalance
- 如何处理机器学习中类的不平衡问题
- 【死磕Java并发】—– Java内存模型之重排序
- Mask R-CNN源代码终于来了,还有它背后的物体检测平台
- 37个TOP实例命令,超过一半你肯定都没见过
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一次奇怪的http状态码改变
- Salesforce LWC学习(二十七) File Upload
- 让我们来谈谈python中的prettyprint和pprint
- vue 开发规范
- Markdown 编写规范
- JavaScript编码规范
- HTML编码规范
- postgres数据库不能用ip地址访问的问题
- Flutter基础widgets教程-ButtonBar篇
- 如何在linux服务上创建samba文件共享服务
- Salesforce Javascript(二) 箭头函数
- java面试基础部分;
- 7-2.表单-HTML基础
- 如何在github上传多个项目
- Flutter基础widgets教程-Card篇