Вася Пупкин
Гуру
(4525)
11 лет назад
Вы взяли указатель на структуру, и сказали программе, что там лежит char*?
Потом запихнули все это в файл?
Я не помню как там и что там.. .
Вы в каком формате файл открываете и пишете в него? В текстовом или в бинарном?
ЗлоПросветленный (38869)
11 лет назад
я так понимаю, автор хочет кусок памяти записать в файл (правда, непонятно, почему не unsigned char*). наверное, при считывании memcpy делает.
но без кода все равно не понятно, в чем проблема =)
ClientFile.write((char*)&blankClient2, sizeof(blankClient2));
Когда открываю сам файл, в нём вижу 3 строки (Хотя символов перехода на новую строку нигде физически не было) . В дальнейшем из-за перехода на новую строку происходит ошибка при чтении. Первые 4 структуры считывает верно, но как только заканчивается 1 строка в файле, структура начинает криво читаться - данные искажаются. (видимо, из-за постороннего символа '\n').
Пробовал сначала делать запись в один файл, а затем перезаписывать во второй, при этом пропуская
'\n', не помогло: во втором файле все данные уместились в 1 строку, но всё равно при чтении возникала та же ошибка, словно какой-то лишний символ остался на том же месте.
Откуда могут возникать эти посторониие символы при записи? И как их убрать.