以二进制方式打开文件并显示
不管是二进制文件还是文本文件,它们都是以二进制数据的方式存储的。对于文本文件来说,它所存放的每一个字节都可以转换为一个可读的字符;而以二进制方式读取文件,只是将数据在内存中的存储形式原样输出。
注意:写入和读取文件时要保持一致。
加入我们的打开对话框函数这样写:
CFileDialog dlg(TRUE,"txt","*.txt",OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"文本文件(*.txt)|*.txt||",NULL);
if(dlg.DoModal()==IDOK)
{
m_filename=dlg.GetFileName();
Invalidate(false);
}
那么,以二进制方式读取文件则可以这样写:
FILE *pFile=fopen(m_filename,"rb"); //以二进制方式打开
char *pBuf;
fseek(pFile,0,SEEK_END);
int len=ftell(pFile); //获取文件长度
pBuf=new char[len+1];
rewind(pFile); //将文件指针重新放置到文件的开始处
fread(pBuf,1,len,pFile);
pBuf[len]=0;
fclose(pFile);
这样就轻松实现了以二进制方式打开文件。