【发布时间】:2010-10-01 18:25:14
【问题描述】:
所以我正在尝试读取此文件。一切看起来应该可以工作,但是在运行时程序超时并停止工作,我必须关闭它。到底是怎么回事?我怀疑 oef() 测试永远不会返回 true,它会一直在文件中寻找更多内容。我没有在文本文件中拖动空行。我试过疯狂地调试这个。我找不到任何问题,但它仍然无法正常工作。
Pet** petArray;
ifstream textFile2;
textFile2.open("pets.txt");
int i = 0;
string temp;
int tmpNum = 0;
if (textFile2.is_open())
{
while (!textFile2.eof())
{
getline(textFile2, temp);
petArray = new Pet*[arraySize];
if (temp == "Dogs" || temp == "Cats" || temp == "Iguanas" || temp == "Pigs")
{
if (temp == "Dogs") tmpNum = 0;
if (temp == "Cats") tmpNum = 1;
if (temp == "Iguanas") tmpNum = 2;
if (temp == "Pigs") tmpNum = 3;
temp == "";
}
else
{
if (tmpNum == 0)
{
petArray[i] = new Dog(temp);
cout << "Dog " << temp << " added" << endl;
}
if (tmpNum == 1)
{
petArray[i] = new Cat(temp);
cout << "Cat " << temp << " added" << endl;
}
if (tmpNum == 2)
{
petArray[i] = new Iguana(temp);
cout << "Iguana " << temp << " added" << endl;
}
if (tmpNum == 3)
{
petArray[i] = new Pig(temp);
cout << "Pig " << temp << " added" << endl;
}
arraySize++;
}
i++;
}
}
这里是文本文件的格式:
Dogs
d1
d2
Cats
c1
c2
Iguanas
i1
i2
Pigs
p1
p2
有什么建议吗?
【问题讨论】: