我对 C++ 比较陌生,并且一直无法从文本文件中获取输入。
相关代码:
vector<string> nutrientName;
vector<float> nutrientAmount;
vector<string> nutrientUnits;
vector<float> nutrientCalories;
ifstream nutrientFile;
nutrientFile.open(nutrientFileName);
float newAmount = 0;
string newUnit;
float newCalories = 0;
while (!nutrientFile.eof())
{
int place = 0;
char nameArray [50];
while(c != ';')
{
if (c != '\n')
nameArray[place] = c;
c = nutrientFile.get();
place++;
}
string newName(nameArray, place);
nutrientName.push_back(newName);
nutrientFile >> newAmount;
nutrientAmount.push_back(newAmount);
nutrientFile >> newUnit;
nutrientUnits.push_back(newUnit);
nutrientFile >> newCalories;
nutrientCalories.push_back(newCalories);
}
nutrientFile.close();
输入是一个成分列表和一些关于它们的营养成分,如下所示:
成分1(1+字);amountOfUnitsInServingSize(float) unitType(1 word)caloriesPerServing(float) Ingredient2(1+ words); amountOfUnitsInServingSize(float) unitType(1 word)caloriesPerServing(float)
.
.
.
我的问题是,当我尝试从文件中引入内容时,它会卡在任一 while 循环中(如果内部循环被注释掉)。当我投入调试代码时,它表明它实际上没有从文件中获取任何输入。
先感谢您!