总结:
C++使用标准库来处理面向流的输入和输出:
IO读写类 头文件
- iostream处理 控制台IO <iostream>
- fstream处理命名文件IO <fstream>
- stringstream完成内存string的IO <sstream>
下图为IO类之间的继承关系:
一.iostream实例(标准输入输出流)
#include <iostream> using namespace std; int main(){ int a; cin >> a; cout << a << endl; return 0; }
cin,cout源码剖析:
二.fstream实例(文件流)
/*打开一个文件写入 "https://www.cnblogs.com/HonkerYblogs/" 并随后以单词格式输出。*/ #include <iostream> #include <fstream> #include <string> #include <vector> using namespace std; int main() { string line; string s; vector<string> vs; fstream fin; fin.open("file2.txt");//绑定文件,形成文件流 ,随后进行写操作(<<) fin << "https://www.cnblogs.com/HonkerYblogs/"; fin.close(); fin.open("file2.txt");//绑定文件,形成文件流 ,随后进行读操作(>>) if(fin){ while(!fin.eof()){ fin >> line; vs.push_back(line); } } else{ cerr << "erro" << endl; return -1; } fin.close(); for(const auto& line:vs) cout << line << endl; return 0; }
三.stringstream实例
#include <sstream> #include <iostream> using namespace std; int main() { string line ,line2; stringstream s(line); s <<"hello world" << endl; getline(s,line2); //或者 s >> line2; cout << line2 << endl; return 0; }