我正在尝试搜索和匹配来自文本文件内容的输入,文件内容为:
Manager Mohab 123456789 Employee Sarah 987654321.
它没有读取第1行,搜索另一个用户输出2条件!
这是我的代码:
cout << "Username : ";
cin >> usrname;
cout << "Password : ";
cin >> password;
fstream myfile;
myfile.open("Data.txt");
if (myfile.is_open())
{
while ( getline (myfile,line) )
{
myfile >> culmn1 >> culmn2 >> culmn3;
if(usrname==culmn1 && password==culmn2)
{
cout << culmn1 << culmn2 <<culmn3;
//cout << "Logedin Successfuly\n" ;
}
else cout << "Wrong Username or Password!\n";
}
myfile.close();
}
else cout << "Unable to open the file!\n";
提前感谢您的帮助:)
答案 0 :(得分:2)
这:
getline (myfile,line)
将消耗流myfile
中的一行。
答案 1 :(得分:1)
您阅读文件的方式不正确。喜欢这个
while (myfile >> culmn1 >> culmn2 >> culmn3)
{
if(usrname==culmn1 && password==culmn2)
出于某种原因,您使用了getline 和&gt;&gt;,getline读取第一行和&gt;&gt;读第二个。