我正在开发一个地址簿应用程序,而我真正努力的部分是从.txt文件获取文本并为每段文本分配正确的变量。每个部分都用一个标签描绘。
我真的很挣这个。首先,我不确定我的逻辑是否在我的方法上是100%的声音,但不过,这就是它在我的头脑中出现的方式。
我想要做的是运行一个循环,逐行查看文本,每行分配给它各自的变量。
我知道我当前的代码不正确,逻辑没有完全充实,但这就是我所拥有的。
编辑:我忘了提及其他变量及其各自的数据类型。名字,姓氏,出生月份/日/年,地址,城市,州,邮政编码,电话号码。它们几乎都是所有字符串,除了出生月/日/年和邮政编码/邮政编码是整数。
编辑** 文本文件是这样的
Joe Shmoe 1 1 1980 123Main Capital CA 90210 123-456-7890
Jane Doe 2 5 1960 321Elm Boise ID 12345 987-654-3210
等等等等。我需要做的是阅读文本文件并填写每个属性的数组元素(第一个,最后一个,月,日,年,地址,城市,州,邮编,电话)
void extPersonType::getInfo()
{
readFile.open("input.txt",ios::in);
if (readFile.is_open())
{
while (readFile.good())
{
for (int i = 0; !readFile.eof(); i++)
{
getline(readFile,lines[i]);
personInfo[i].setFirstName(lines[i]);//change this
cout << personInfo[i].getFirstName();
}
}
readFile.close();
}
如果你能帮助我,我会很感激。
答案 0 :(得分:0)
for (int i = 0; !readFile.eof(); i++)
{
getline(readFile,lines[i],'\t');
personInfo[i].setFirstName(lines[i]);
cout << "First Name: "<<personInfo[i].getFirstName()<< endl;
getline(readFile, names[i],'\t');
personInfo[i].setLastName(names[i]);
cout << "Last Name: "<<personInfo[i].getLastName()<<endl;
getline(readFile, addresstmp[i],'\t');
address[i].setAddress(addresstmp[i]);
cout << "Address: "<< address[i].getAddress() << endl;
getline(readFile, city[i],'\t');
address[i].setCity(city[i]);
cout << "City: "<< address[i].getCity()<<endl;
getline(readFile,state[i],'\t');
address[i].setState(state[i]);
cout << "State: "<<address[i].getState()<<endl;
getline(readFile,zip[i],'\t');
address[i].setZip(zip[i]);
cout << "Zip: "<<address[i].getZip()<<endl;
getline(readFile,phoneNumber,'\t');
cout << "Phone: "<<phoneNumber<<endl;
getline(readFile,contactType);
cout <<"Contact type: "<<contactType<<endl<<endl;
}
}
readFile.close();
这就是我要找的东西。 getline(file,string,deliniation)解决了它。