使用规则:
string line;
getline(in,line);//用来读取一行
cin >> line;//用来读取输入的每一个单词
istringstream record(line);
record>>word;//用于提取存储在内存中一行中的每个单词
文件的读取至宝
#inlcude<fstream>//读取文件的 ifstream
#include<iostream> //cin
#include<iostream> //getline
ifstream in("xxx");
string line;
while(getline(in,line)){}//将整行得内容都存进line中
while(cin>>line){}//每次读取一个单词到Line中,以空格或者换行为结尾
文件流
sstream
istringstream 用于对变量进行赋值 istringstream record(line); record >> xxx;
ostringstream 用于对内置的字符串赋值 ostringstream << "hello world" ;
如果已经变成了内存中的一行字符串了,则只能用istringstream来操作了。
struct PersonInfo {
string name;
vector<string> phones;
};
string line, word;
vector<PersonInfo> people;
while (getline(cin, line)) {
PersonInfo info;
istringstream record(line);
record >> info.name;
while (record >> word) {
info.phones.push_back(word);
}
people.push_back(info);
}