C++ 我能';我不想绕圈子
在这段代码中,我试图逐行从文件中获取数据 文件 2C++ 我能';我不想绕圈子,c++,C++,在这段代码中,我试图逐行从文件中获取数据 文件 2 莫哈布 20 男性 mohab@server.com 开罗 代码 bool Employee::login(int-ID,字符串用户名) { int line1,i; 弦线; fstream-myfile; myfile.open(“Employee.txt”); 如果(myfile.is_open()) { 而(myfile>>第1行) { if(ID==line1) { 对于(i=1;i>line; 如果(行==用户名) { 返回true;
莫哈布
20
男性
mohab@server.com
开罗 代码
bool Employee::login(int-ID,字符串用户名)
{
int line1,i;
弦线;
fstream-myfile;
myfile.open(“Employee.txt”);
如果(myfile.is_open())
{
而(myfile>>第1行)
{
if(ID==line1)
{
对于(i=1;i>line;
如果(行==用户名)
{
返回true;
打破
}
其他的
继续;
}
}
其他的
继续;
}
myfile.close();
}
其他的
{
返回false;
}
}
现在我设法从第二行循环到最后一行。如果文件内容有超过1个人的信息,那么循环应该放在哪里以及如何使line1
变量检查文件中的所有行
提前感谢:)您的输入格式正确吗?如果是这样,只需在以下条件下执行所有操作:
while(file>>id>>name>>age>>sex…
。然后循环的下一次迭代将拾取下一个员工如果我这样做了,那么如果添加更多信息会怎么样,(MyField:Id> > Adv>年龄>性别> > NeDATAs> NeDATA……)如果这不是一个类,你应该把这个信息放在XML格式中,并使用一个丰富的C++ XML解析器来处理所有这些,然后返回对象,这就是雇员对象应该如何设计的,但我不知道你想把这个项目做多远……基本上,总有更好的方法,但可能不值得为正确的方式付出额外的成本
bool Employee::login(int ID, string username)
{
int line1, i;
string line;
fstream myfile;
myfile.open("Employee.txt");
if (myfile.is_open())
{
while (myfile >> line1)
{
if (ID == line1)
{
for (i = 1; i <= 5; i++)
{
myfile >> line;
if (line == username)
{
return true;
break;
}
else
continue;
}
}
else
continue;
}
myfile.close();
}
else
{
return false;
}
}