关于在.txt文件的某些行上读取文件的c ++ fstream

时间:2015-11-21 22:53:14

标签: c++

所以我对c ++非常陌生,在我上学的时候,我正在制作一个程序,使用fstream将userIds和密码放入文本文件中,我不知道为什么在尝试确认时这不起作用用户名和密码是正确的

int login()
{
    fstream accountFile2;
    bool confirm;
    string userID;
    string accountPass;
    string IDConfirm;
    string PassConfirm;
    accountFile2.open("accountfile.txt",ios::in | ios::out);

    cout<<"Login!\n Enter your User ID: "<<endl;
    cin>>userID;
    cout<<"Please enter your account's password\n";
    cin>>accountPass;

    accountFile>>IDConfirm;
    accountFile>>PassConfirm;
    accountFile2.close();

    if((userID == IDConfirm) && (accountPass == PassConfirm))
    {
        confirm = 1;
        cout<<"success";
    }
    else
    {
        confirm =0;
        cout<<"invalid id/pass";
    }

    return confirm;
}

1 个答案:

答案 0 :(得分:1)

假设accountFileaccountFile2是拼写错误,它适用于我(and the compiler)。

仔细检查文件是否存在并包含正确的数据。还要注意,对于std::cin >> variable类型的变量,std::string将只读取一个单词(当找到空格时将停止读取)。如果您想阅读整行,请改用std::getline(std::cin, variable)