何を試しても、次のコードを正しく動作させることができません。
ifstream inFile;
inFile.open("sampleplanet");
cout << (inFile.good()); //prints a 1
int levelLW = 0;
int numLevels = 0;
inFile >> levelLW >> numLevels;
cout << (inFile.good()); //prints a 0
最初のcout<<(inFile.good());で、1を出力し、2番目で0を出力します。これは、ファイルが正しく開いていることを示していますが、inFileは、そこから読み込まれるとすぐに失敗します。ファイルには十分な数の行/文字が含まれているため、その時点までにファイルの終わりを超えて読み込もうとした方法はありません。
ファイルの内容:
8
2
#level 2
XXXXXXXX
X......X
X..X..XX
X.X....X
X..XX..X
XXXX...X
X...T..X
XXX..XXX
#level 1
XXXXXXXX
X......X
X..X.XXX
X.X..X.X
X..XX..X
X......X
X^....SX
XXX.^XXX