【发布时间】:2016-03-28 03:17:09
【问题描述】:
我试图通过重载 istream 运算符从文件中获取输入。为此,我宣布它为班级的朋友。然后,我将相同的类作为输入:
file >> *(class pointer);
当我尝试调试需要它工作的代码部分时,它会按预期进入:
istream& operator>> (istream& in, MYCLASS& n)
{
string buffer;
while (!in.eof()) { // input is a file
in >> buffer;
// do stuff
}
return in;
}
问题是缓冲区保持为空(“”)并且没有从文件中获取它假设的内容。通常,文件的格式应该没有问题,因为我在代码中的其他地方使用了类似的方法,没有问题,但在这里以防万一:
* Name Age
* Name Age
* Name Age
...
我应该在我的 istream 重载函数中放入什么,以便按预期获得输入?
【问题讨论】:
标签: c++