Используйте int main()
, как предложил Джеспер Джул, и попробуйте
fsBoardBinFile.write(reinterpret_cast<char*>(&s1), sizeof(s));
Также используйте оператор +
вместо strcat, если вы используете std :: string. Поскольку вы не указали, что такое CellType, я удалил его. Для просто int:
fsBoardBinFile.write(reinterpret_cast<char*>(&s1), sizeof(s1));
записывает 11 (asci: 11), а не номер 1 (ascii: 49) в файл. Использование
ifstream fsBoardBinFile1(fileName);
fsBoardBinFile1<<((char*)&s2, sizeof(Cell));
cout << s2.nRow << s2.nCol << endl;
выводит 11 на экран, поэтому кажется, что это работает нормально. Если есть проблема с CellType
, вам нужно обновить код, чтобы он включал его.