0

我的文本文件有问题。我正在尝试使用文本文件进行登录。当我比较用户名和密码时,我只读取文件的第一行,但如果我删除比较,我会读取到文件末尾。代码:

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();
}

主要:

if(logueo(usu,con) == true)
            {
                cout << "Login Succ";
            }
            else
            {
                cout << "Login Fail";
            }
4

1 回答 1

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;
于 2013-07-27T21:45:15.303 回答