我试图将数据加载到类数组中并使用读入的数据设置成员变量。某些数据中包含空格,例如名称,地址等。所以我使用getline读取这个数据。其他的是整数或单个词,所以我用了cin。我的现有代码有两个问题......
没有正确读取变量(我认为它与使用cin / getline有关?)
数组正在多次读取文件(这是否与我的if条件有关,检查文件是否仍然可读?我应该使用getline(文件,字符串)条件?我试过这个,但没有运气)。
以下是现有代码:
string tempName;
string tempAddress;
int tempCost;
int tempNumber;
ifstream myFile("text.txt");
if (myFile.is_open())
{
for (int x = 0; x < 5; x++)
{
getline(myFile, tempName);
getline(myFile,tempAddress);
myFile>> tempCost;
myFile>> tempNumber;
person[x].setName(tempName);
person[x].setAddress(tempAddress);
person[x].setCost(tempCost);
person[x].setNumber(tempNumber);
}
}
else
{
cout << "Unable to open file." << endl;
}
myFile.close();
以下是我试图阅读的两个例子:
乔史密斯 14樱桃街 5编辑:Person是一个类数组。我正在设置它的成员变量。人在我的主要宣布。对不起忘了包含这个。声明如下:
人员[MAX_PEOPLE]; (最多的人是5.我只是在摘录中替换它。)