2010-08-11 6 views
-2

Я написал объект в файл, но когда я прочитал объект из файла, он не получает правильное значение. Если 1 объект считается 1 записью, и если в файле есть только 1 запись, она получает значение. Если я пишу больше записей (много объектов одного типа), то он не получает значение.Работа с файлами в C++

+8

Отображение код поможет. – sje397

+0

Возможно, вы пытаетесь открыть файл несколько раз, что невозможно. Когда файл открывается, вы должны закрыть его, прежде чем открывать его. –

+1

http://www.cplusplus.com/doc/tutorial/files/. Прочитайте и попробуйте выяснить. – DumbCoder

ответ

1

Может быть пара проблем. Из верхней части моей головы может возникнуть проблема с тем, как вы взаимодействуете с файлом, как показывают вышеприведенные комментарии. Или это может быть проблема с сериализацией.

Недавно я узнал, что нельзя просто написать класс в файл, потому что он не гарантированно является непрерывной памятью (другие причины тоже, но мораль, которую я взял, не делала этого).

Вместо этого необходимо выполнить сериализацию объекта/класса, прежде чем записывать его в файл.

Несколько веб-ресурсов, которые я нашел полезным для этого являются:

http://functionx.com/cpp/articles/serialization.htm (мне понравился этот много).

http://functionx.com/cpp/articles/serialization.htm

Is it possible to serialize and deserialize a class in C++?

Смежные вопросы