(C) 如何在读取文件时将 getline() 与整数一起使用?

新手上路,请多包涵

我正在尝试创建一些代码来打开文件、读取内容并使用 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 许可协议

阅读 443
1 个回答

getline() 成员函数用于提取字符串输入。因此,如果您以字符串的形式输入数据,然后使用“stoi”(代表字符串到整数)从字符串数据中仅提取整数值,那就更好了。您可以单独检查如何使用“stoi”。

原文由 Krishna Pendiala 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏