我希望我的程序能够记住它在.txt
文件中的中断位置,以便在通过循环重复时继续下一个输入。例如,一个文本文件包含:
Apples
Bananas
Oranges
将通过GetItem()
将下一个文件输入附加到项目向量中的函数访问。如何使函数添加Apples
第一次、Bananas
第二次和Oranges
第三次迭代?截至目前,每次调用都会GetItem()
将第一个元素添加到向量中,给出一个包含以下内容的向量:
Apples
Apples
Apples
因为文件从头开始一直打开。任何帮助,将不胜感激。
这是我可以包含的大量代码的简化版本,但会分散问题的主要目的。如果需要代码,我很乐意将其包含在内。
vector<Item*> AddItemToInventory(vector<Item*> inventory) {
if (inptLctn == 'f') {
inptFile.open("TestFood.txt");
if (!inptFile.is_open()) {
cout << "Could not open file." << endl;
exit(1);
}
inptFile >> usrInptName;
inptFile >> usrInptQnty;
inptFile >> usrInptExpr;
inptFile >> usrInptPrice;
}
prdc = new Produce;
prdc->SetName(usrInptName);
prdc->SetQuantity(usrInptQnty);
prdc->SetExpiration(usrInptExpr);
prdc->SetPrice(usrInptPrice);
inventory.push_back(prdc);
return inventory;
}