Независимо от того, что я пытаюсь, я не могу получить следующий код для правильной работы.Не могу получить ifstream для работы в XCode
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
на первом соиЬ < < (inFile.good()) ;, он печатает 1 и на втором в 0. Что говорит мне, что файл открывается корректно, но входной_файл не удается, как только читайте в нем. Файл имеет более чем достаточно строк/символов, поэтому я не пытался прочесть его до конца файла.
содержимое файла:
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
Что такое содержимое файла и какие значения levelLW и numLevels в конце этого блока? Я предполагаю, что inFile >> levelLW >> numLevels; жадно потребляет больше байтов, чем вы ожидаете. –
они оба по-прежнему имеют значение 0 после inFile >> – finiteloop
Я предполагаю, что входной файл имеет некоторые невидимые символы. В unix я запустил 'hexdump -b' для просмотра содержимого файла. –