У меня есть код, в котором CArchive используется для чтения и записи и файла. По моему исследованию я узнал, что объект CArchive меняет свое местоположение при чтении данных из разных частей файла. Например, если структура файла похожа на заголовок, то тело, а затем нижний колонтитул. Теперь, если кто-то хочет прочитать нижний колонтитул, CArchive читает нижний колонтитул, только перейдя к определенному местоположению в файле. Это делается с помощью этого.Где CArchive в настоящее время указывает файл
COleStreamFile stream;
//Stream is pointed to footer location.
stream.OpenStream(m_pStg, "Footer", nOpenFlags, pError); // pStg is LPSTORAGE
CArchive ar(&stream, CArchive::load);
Теперь мне интересно знать, что в каком месте CArchive собирается читать или писать. Байт-указатель, расположение файла или что-то в этом роде.
Вы ищете эквивалентную функцию к тому, что [ftell()] (http://www.cplusplus.com/reference/cstdio/ftell/) делает для потоков файлов? – sashoalm
Да, ftell работает только для FILE или будет работать и для CArchive ?, –
'ftell()' работает только для файловых потоков. – sashoalm