MFC中怎么把unsigned char* pPixel类型数据保存为raw
时间: 2024-04-08 07:28:40 浏览: 107
在MFC中,你可以使用CFile类来保存`unsigned char*`类型的数据为原始(raw)格式。下面是一个示例代码:
```cpp
#include <afx.h>
void SaveRawData(const unsigned char* data, int dataSize, CString filename) {
CFile file;
if (file.Open(filename, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary)) {
file.Write(data, dataSize);
file.Close();
AfxMessageBox(_T("数据已成功保存为原始文件!"));
}
else {
AfxMessageBox(_T("无法打开文件!"));
}
}
```
在上述示例代码中,我们定义了一个名为`SaveRawData`的函数,该函数接受`unsigned char*`类型的数据指针`data`、数据大小`dataSize`和文件名`filename`作为参数。函数内部使用`CFile::Open`方法以二进制写入模式打开文件,并使用`CFile::Write`方法将数据写入文件。最后,我们关闭文件并显示相应的消息框。
要使用上述代码,你需要在MFC应用程序中包含头文件`<afx.h>`并调用`SaveRawData`函数,如下所示:
```cpp
unsigned char* pPixel; // 假设你有一个名为pPixel的unsigned char*指针,其中包含你想要保存的数据
int dataSize = 10; // 假设数据大小为10字节
CString filename = _T("raw_data.bin"); // 假设要保存的文件名为raw_data.bin
SaveRawData(pPixel, dataSize, filename);
```
请根据你的实际需求进行适当的修改和错误处理。
阅读全文