所以我对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;
}
答案 0 :(得分:1)
假设accountFile
和accountFile2
是拼写错误,它适用于我(and the compiler)。
仔细检查文件是否存在并包含正确的数据。还要注意,对于std::cin >> variable
类型的变量,std::string
将只读取一个单词(当找到空格时将停止读取)。如果您想阅读整行,请改用std::getline(std::cin, variable)
。