使用delim读取登录数据

问题描述 投票:0回答:1

我一直在尝试创建一个登录界面,在该界面中,用户首先将一些用户名,密码,地址和电子邮件之类的数据注册到系统中,然后将“-”用作数据之间的分叉形式,然后将它们存储在文本文件中。下面。

[email protected]纽约市

[email protected]纽约市

然后使用下面的代码尝试在文本中查找用户名和密码,但它只能提取第一行,而不能提取第二行

void login()
{
string User, Pass, ConfirmUser, ConfirmPass;

    cout << "Please Enter Your Name And Password to Login:\n";
         << "Username: ";
    getline(cin, User);
    cout << "Password: ";
    getline(cin, Pass);


ifstream input("database.txt");
    while (input)
    {
        getline(input, u, '-');
        getline(input, p, '-');

        if (u == user && p == pass) {
            authenticated = true;
            system("cls");

        }
    input.close();
    }

 if (authenticated)
    {
        cout << "\nHello " << user << "\nLogin Sucsses!";
        cin.get();
        cin.get();

    }
    else
    {
        cout << "\nLogin Failed!\nPlease Check your Username and Password Again!";
        main();
    }
}

[我需要做些什么来使代码不仅检查文本的第一行,而且还要检查所有文本文件,因为我将添加更多用户?

c++ ifstream
1个回答
0
投票

在您的while (input)循环中,您有一个input.close()

© www.soinside.com 2019 - 2024. All rights reserved.