字符串下标超出范围错误C ++

时间:2018-04-21 20:40:30

标签: c++

我正在做一个简单的程序,它在文本文件中找到用户名和密码。最初当我编写程序时它运行正常,但是,现在我得到"字符串下标超出范围错误"而且我不确定为什么。我能得到的任何帮助都会很棒。

这是我的代码:

string username, password, pwCheck;
ifstream adminIn; 
adminIn.open("admin.txt");

cout << "\n\nAdmin and Librarian Login\n\n";

cout << "Username:  ";
cin >> username;

cout << "Password:  ";
cin >> password;

bool isFound = false;
while (!adminIn.eof())
{
    string temp = "";
    for (int i = 0; i < username.size(); i++)
    {
        if (temp[i] == username[i])
        {
            isFound = true;
        }
        else
        {
            isFound = false;
        }
    }

    if (isFound)
    {
        for (int i = username.size() + 1; i < temp.size(); i++)
        {
            pwCheck = pwCheck + temp[i];
        }
    }

}

1 个答案:

答案 0 :(得分:0)

你没有真正从文件中读取。使用像

这样的结构

string line;

getline(adminIn,line);

然后在该行中搜索用户名和密码