我正在尝试创建一些代码来打开文件,读取内容并通过使用getline()检查几个整数是否相等。问题在于它似乎仅适用于字符串,而不是整数。你可以帮帮我吗?
fstream ficheroEntrada;
string frase;
int dni, dnitxt;
int i=0;
int time;
cout << "Introduce tu DNI: ";
cin >> dni;
ficheroEntrada.open ("Datos.txt",ios::in);
if (ficheroEntrada.is_open()) {
while (! ficheroEntrada.eof() ) {
getline (ficheroEntrada, dnitxt);
if (dnitxt == dni){
getline (ficheroEntrada, frase);
cout << dni << " " << frase << endl;
}else{
getline (ficheroEntrada, dnitxt);
}
}
ficheroEntrada.close();
}
最佳答案
getline()成员函数用于提取字符串输入。因此,最好以字符串形式输入数据,然后使用“ stoi”(代表字符串到整数)从字符串数据中仅提取整数值。
您可以单独检查如何使用“ stoi”。
关于c++ - (C++)如何在读取文件时将getline()与整数一起使用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42577419/