我的文字文件有问题。我正在尝试使用文本文件进行登录。 当我比较用户名和密码时,我只读取文件的第一行,但如果删除比较,我会读到文件的末尾。 代码:
bool logueo(string usulog,string conlog)
{
ifstream ArchivoL("users.txt");
string line;
while(getline(ArchivoL,line).good())
{
istringstream ss(line);
string usu,con;
ss >> usu >> con;
if(usu.compare(usulog) == 0 && con.compare(conlog) == 0)
{
return true;
}
else
{
return false;
}
}
ArchivoL.close();
}
在main中:
if(logueo(usu,con) == true)
{
cout << "Login Succ";
}
else
{
cout << "Login Fail";
}
答案 0 :(得分:1)
将while
循环修改为
while(getline(ArchivoL,line).good())
{
istringstream ss(line);
string usu,con;
ss >> usu >> con;
if(usu.compare(usulog) == 0 && con.compare(conlog) == 0)
{
ArchivoL.close();
return true;
}
}
ArchivoL.close();
return false;