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 に答える