我正在尝试用 C++ 完成一个简单的初学者任务。我有一个包含该行的文本文件
“约翰·史密斯 31”。就是这样。我想使用 ifstream 变量读取此数据。但我想将名称“John Smith”读入一个字符串变量,然后将数字“31”读入一个单独的 int 变量。
我尝试使用getline函数,如下:
ifstream inFile;
string name;
int age;
inFile.open("file.txt");
getline(inFile, name);
inFile >> age;
cout << name << endl;
cout << age << endl;
inFile.close();
问题在于它输出整行“John Smith 31”。有没有办法让 getline 函数在获取名称后停止,然后“重新启动”以检索号码?不操作输入文件,就是这样?
getline http://en.cppreference.com/w/cpp/string/basic_string/getline顾名思义,读取整行,或者至少读取到可以指定的分隔符。
所以答案是“不”,getline
不符合您的需求。
但你可以这样做:
inFile >> first_name >> last_name >> age;
name = first_name + " " + last_name;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)