CArchive如何获取指针位置
时间: 2023-10-18 10:11:01 浏览: 159
CArchive类提供了以下两个方法来获取指针位置:
1. GetPosition():返回当前指针位置。
2. GetCurrentBufferPtr():返回当前指针指向的缓冲区位置。
例如:
```
CArchive ar(&file, CArchive::load);
int pos = ar.GetPosition(); // 获取当前指针位置
const BYTE* bufferPtr = ar.GetCurrentBufferPtr(); // 获取当前指针指向的缓冲区位置
```
相关问题
CArchive ar(&file, CArchive::load)
在MFC(Microsoft Foundation Classes)库中,`CArchive ar(&file, CArchive::load)`是一个用于存取二进制文件的对象,其中`file`是一个指向`CFile`对象的指针,`CArchive::load`是一个构造函数,表明你正在打开一个二进制文件来进行加载操作。`load`模式意味着档案将被加载,即从文件中读取内容。
当你创建`CArchive`对象时,你可以选择保存(`save`)或加载(`load`)数据到或从文件中。例如,如果你想从一个名为"mydata.bin"的二进制文件加载数据,可能会这样写:
```cpp
CFile file("mydata.bin", CFile::modeRead);
CArchive ar(file, CArchive::load);
// 现在你可以使用ar来访问并解码二进制数据
int myNumber;
ar >> myNumber;
// 文件关闭后不再需要archive
ar.Close();
```
在这个例子中,`ar >> myNumber`会从文件中读取整数并将其赋值给`myNumber`。
阅读全文