Когда приложение желает сохранить состояние объекта в файле, оно вызывает для него метод Serialize. В качестве параметра этому методу передается указатель на объект класса CArhive, связанный с файлом, открытым на запись.
Для того, чтобы определить, предназначен ли объект-архив для записи или для чтения, можно вызвать методы CArchive::IsLoading или CArchive::IsStoring.
Метод IsStoring возвращает ненулевое значение, если данный объект предназначен для записи в файл, и нуль в противном случае. Метод IsLoading является прямой противоположностью метода IsStoring. Можно использовать любой метод для определения режима работы с объектом-архивом.
В случае записи в архивный файл реализация метода должна сохранить в файле все элементы данных, которые потом потребуется восстановить. Для этого необходимо воспользоваться оператором << или методами WriteString и Write, определенными в классе CArchive.
Оператор << можно использовать, для записи в архивный файл переменных простых типов, например, long, int, char и объектов других классов, наследованных от класса CObject.
|
|
Для записи в архивный файл массивов удобнее использовать метод Write класса CArchive. Он позволяет записать в файл определенное количество байт из указанного буфера памяти.
Если требуется сохранить строку символов, закрытую нулем, то гораздо удобнее вместо метода Write использовать метод WriteString. Метод WriteString записывает в архивный файл строку, ограниченную нулевым символом.