IO
IO库
标准io库主要有三个头文件 分别支持
支持 | 头文件 |
---|---|
流读写 | iostream |
文件读写 | fstream |
string类读写 | sstream |
io类型都继承自istream和ostream
故而操作和cin cout别无大致
基本由
i\ostream
i\ofstream
i\ostringstream
几类组成
(还有对应的宽字符版本命名在每个前面加上w 形如wistream)
文件读写
基本类型 ifstream/ofstream
Ifstream in; //声明文件写入流类
文件读写基本流程
//声明文件流类
ifstream in; ofstream out;
//打开文件
in.open(“文件名”,文件打开模式);
注:关于文件打开模式
各个输入输出流对象会有默认模式
两组特殊模式:
1.1app:在文件末尾追加
1.2trunc:截断文件(覆盖原文件内容)
2.1in:读方式打开
2.2out:写方式打开<默认覆盖原文件>
ex:
out.open(“filea”,ofstream::app | ofstream::out)
//这里显示了同时设置多个打开模式的写法
//读写操作
流对象的读写操作如同cin\cout
.从流中读数据到string
string str;
in >> str;
//一行一行地把文件读取到str中输出
while(getline(in,str))
{
cout << str << endl;
}
//关闭文件
```handlebars
对象名.close()// ex : in.close()
注: 1、流对象只有将文件关闭后才能对另一个文件进行操作
2、在离开作用域时会自动析构关闭文件
string流
vector <string> & rfws(vector<string>& vectorx )
{
ifstream in;
in.open("filex");
string line;
while(getline(in,line))
{
lstringstream sender(line);
//这里是为了演示流的通用操作符>>
sender >> line;
vectorx.push_back(line);
}
return vectorx;
}