读书人

关于写二进制文件奇怪有关问题

发布时间: 2012-03-23 12:06:21 作者: rapoo

关于写二进制文件奇怪问题
为什么写入不同的数据,生成的二进制文件,打开效果不一样?

//实验1:如下代码,写入数据,aa.bin后用VC6.0,UltraEdit 为何打开效果不同?

unsigned char*m_pWriteBuf;//用于中间处理的buf

CFile file;
if (!file.Open(("C:\\aa.bin"),CFile::modeCreate | CFile::modeWrite | CFile::typeBinary))
{
return 0;
}
m_pWriteBuf = NULL;
m_pWriteBuf = new unsigned char[9];
memset(m_pWriteBuf,0,9);

m_pWriteBuf[0] = 0x33;
m_pWriteBuf[1] = 0xFF;
m_pWriteBuf[2] = 0x33;
m_pWriteBuf[3] = 0x33;
m_pWriteBuf[4] = 0x33;
m_pWriteBuf[5] = 0x33;
m_pWriteBuf[6] = 0x33;
m_pWriteBuf[7] = 0x33;
m_pWriteBuf[8] = 0xF0;

file.Write(m_pWriteBuf,9);
file.Close();

if(m_pWriteBuf != NULL)delete m_pWriteBuf;//用于中间处理的buf




//实验2: 只修改写入的数据不同,效果OK,以地址形式显示每Byte数据

m_pWriteBuf = NULL;
m_pWriteBuf = new unsigned char[9];
memset(m_pWriteBuf,0,9);

m_pWriteBuf[0] = 0x33;
m_pWriteBuf[1] = 0xFF;
m_pWriteBuf[2] = 0x16;
m_pWriteBuf[3] = 0x24;
m_pWriteBuf[4] = 0x30;
m_pWriteBuf[5] = 0x58;
m_pWriteBuf[6] = 0xFF;
m_pWriteBuf[7] = 0xFF;
m_pWriteBuf[8] = 0xF0;



file.Write(m_pWriteBuf,9);
file.Close();
if(m_pWriteBuf != NULL)delete m_pWriteBuf;//用于中间处理的buf




[解决办法]
看不到图

读书人网 >VC/MFC

热点推荐