我正在尝试创建一些代码来打开文件、读取内容并使用 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();
}
原文由 Moises Pantion Loza 发布,翻译遵循 CC BY-SA 4.0 许可协议
getline() 成员函数用于提取字符串输入。因此,如果您以字符串的形式输入数据,然后使用“stoi”(代表字符串到整数)从字符串数据中仅提取整数值,那就更好了。您可以单独检查如何使用“stoi”。