わかりました、ここで回答を見ましたが、何をする必要があるのか まだ正確に理解していません. ファイルから何かを読み込もうとしていますが、.eof() で予期しない結果が得られ、イライラしています! 私が行っているプロジェクトのために実際に行っていることを切り取りましたが、うまくいけば、私が持っているコードで十分です。ファイルからデータを解析し、データを正しいデータ構造に割り当てようとしているときに、関数に同様の while ループがたくさんあります。私がテストしていた1つのファイルが機能するので、必要なときに機能するように見えますが、実際には読み取るデータがもう1つあるのに、ファイルの終わりに到達すると別のファイルが言います。何が起こっているのかわかりません。助けてくれてありがとう!
void ReadStuff(ifstream &theFile)
{
while (!theFile.eof())
{
string line;
getline(theFile, line);
istringstream read(line);
string lineSect;
while (!read.eof())
{
read >> lineSect;
if (read.eof())
{
break;
}
//Reading stuff for this line
}
//Reading more stuff from a file until all data for all labels is read
}
}