Вы сказали, что первая inFile.good () распечатывает 1. Это должно означать, что файл открыт ОК. Поскольку вы сказали «это работает через терминал, но не через XCode» в посте tehMick - для чего это стоит - когда я это проверял, я столкнулся со следующей проблемой: моя IDE (C ++ Builder) запускает программу из каталога DEBUG (когда вы находитесь в режиме отладки). Мне нужно было поместить "sampleplanet" в каталог DEBUG или использовать путь в открытом виде, который нашел файл типа ".. \\ sampleplanet".
+MyProjectDirectory
| mymain.cpp (Even though this is where I had the source file..)
| sampleplanet
+--DebugDirectory
mymain.obj
mymain.exe (the program runs out of this directory.)
Как только я позаботился о вышеуказанной проблеме, все сработало, как и ожидалось, используя приведенный выше код и файл. Я проверил файл в Notepadd ++, чтобы подтвердить [CR] [LF] после каждой строки. Если вы создаете файл в Linux, он может иметь только [LF] (я все делал под Windows).