Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Переопределение Serialize


Автор: Gremlin 21.10.2006, 12:26
все сделал стандартно создал файл в Serialize ar<<string, смотрю в файл а там впереди моих данных всегда стоят значки какойто неопеделимой кодировки! Кто нибудь знает как отних избавится?

Автор: AlexPro 22.10.2006, 10:27
Это служебная информация, не обращай внимания.

Автор: Gremlin 22.10.2006, 10:42
тоесть  от неё  избавится можно только если не пользоваться сериализацией?

Автор: AlexPro 22.10.2006, 11:10
Очень настойчивое желание избавиться от служебной информации. Видимо, нужно получить чистый текстовой файл? А string, вероятно, это переменная класса CString? Тогда ничего не выйдет: при сериализации CString сохраняет сначала информацию о длине строки. А при чтении, соответственно, сначала считывает ее, чтобы понять, сколько читать из файла. Если тебе это не подходит, придется работать с файлом ручками.

Автор: Gremlin 22.10.2006, 19:11
smile желание обусловленно тем что данный файл необходимо далее обрабатывать например в экселе и мне не нужно чтобы в эксель запихивалось лишнее и постоянно ругался на неизвесную кодировку

Автор: AlexPro 23.10.2006, 06:37
Тогда, как я и сказал выше, придется сохранять ручками. Более геморойно, но зато более гибко. Можно этакое загнуть - эксель вообще в трубочку свернется. smile 

Автор: Earnest 23.10.2006, 08:25
Gremlin, сериализация строки и вообще архив CArchive предназначены для сохранения в бинарном формате. Экселю, конечно, нужен текстовый. Для текстового пиши сам или используй стандартные потоки std::ifstream/ostream. Вот там операторы << и >> работают в текстовом режиме.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)