我有这个例子,
在我的 .txt 文件中有“Jorge Saraiva 1321312”
我的.cpp
string line, nome;
int number;
ifstream ifi("nameOfFile.txt");
if(!ifi.is_open()){
cout << "Error opening file" << ends;
}
{
else{
while( getline(ifi,line) ){
istringstream is(line);
is >> nome;
is >> number;
}
ifi.close();
}
cout << nome << endl << number << ends;
有了这个,我只有名字(“Jorge”),我不确定如何在名称/字符串结束时告诉编译器。
最佳答案
您正在尝试将字符串(第二个)放入数字中,这是意外输出的原因。 Directing it to a string应该解决这个问题。您可以丢弃该字符串,没关系。
string line, name, dummy;
int number;
while(getline(ifi, line)){
istringstream iss1(line);
iss1 >> name;
iss1 >> dummy;
iss1 >> number;
}
关于c++ - 如何从文本文件的同一行读取字符串和整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40439057/