标签:style blog http color os io 文件 for
假如有一个文件,列出了一些人和他们的电话号码。某些人只有一个号码,而另外一些人则有多个——家庭电话、工作电话、移动电话等。我们的输入文件看起来是这样的:
morgan 2015552368 8625550123
drew 9735550130
lee 6095550132 2015550175 8005550000
文件中每条记录都以一个人名开始,后面跟随一个或多个电话号码。
程序如下:
#include<iostream> #include<string> #include<vector> #include<sstream> using namespace std; struct PersonInfo { string name; vector<string> phones; }; int main() { string line,word; vector<PersonInfo> people; while(getline(cin,line)) { PersonInfo info; istringstream record; record.str(line); record>>info.name; while (record>>word) info.phones.push_back(word); people.push_back(info); } for(auto v:people) { cout<<v.name<<endl; for(auto i:v.phones) cout<<i<<" "; cout<<endl; } return 0; }
运行结果如下:
如果将其中while循环中定义的istringstream对象移到循环的外面,则运行结果如下:
标签:style blog http color os io 文件 for
原文地址:http://www.cnblogs.com/wuchanming/p/3906590.html