我正在尝试创建一些代码来打开文件,读取内容并通过使用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/

10-13 01:30