MFC读取二进制文件

用MFC读取一个二进制日志文件,每个数据块340字节。
CFile f;
// char name[32];
//文件打开
read:f.Open("C:\\var/adm/wtmpx",CFile::modeRead|CFile::typeBinary);
m_state+="正在读取日志文件...\r\n";
UpdateData(FALSE);
if(f==FALSE)
{ int iResults;
iResults=("读取日志文件失败!","ERROR",MB_RETRYCANCEL);
m_state+="无法读取日志文件!\r\n";
UpdateData(FALSE);
if(iResults==IDRETRY) goto read;
if(iResults==IDCANCEL) return;}
else {
m_state+="读取日志文件成功!\r\n";
UpdateData(FALSE);}
//读取记录
int iLen = f.GetLength();
UpdateData(FALSE);
f.Close;}
想检验iLen的大小是否符合要求,但不会操作。。。跪求指导

读写二进制文件参考代码:
CFile rfile,wfile;
if(!rfile.Open(_T("c://notepad.exe"),CFile::modeRead))
return 1;
if(!wfile.Open(_T("c://ee.exe"),CFile::modeCreate|CFile::modeWrite))
return 1;
BYTE buf[1024];
UINT readed;
while((readed=rfile.Read(buf,1024))>0)
{
wfile.Write(buf,readed);
}
rfile.Close();
wfile.Close();
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-05-08
你调用Read读取数据,每次会返回读取到的数据个数,把每次读取的数据加起来就得到你要的数据了,和iLen比较就知道是不是符合要求了本回答被提问者采纳
第2个回答  2011-05-12
读到的一个字节分成高4位和低4位(用移位运算快点),对每4位做输出,而不是考虑怎么去处理一个字节

将你的读取放在一个独立的线程里,和UI线程分开,这样可以不至于无响应

MFC读取二进制文件
读写二进制文件参考代码:CFile rfile,wfile;if(!rfile.Open(_T("c:\/\/notepad.exe"),CFile::modeRead))return 1;if(!wfile.Open(_T("c:\/\/ee.exe"),CFile::modeCreate|CFile::modeWrite))return 1;BYTE buf[1024];UINT readed;while((readed=rfile.Read(buf,1024))>0){ wfile.Writ...

如何用MFC编程读取二进制数据的.dat文件,再对二进制数据作fft, 并显示...
方法1:使用标准C运行库函数,包括fopen、fclose、fseek等 方法2:使用标准C++库函数,包括open、close等。#include<fstream> 方法3:使用CFile和其派生类进行文件操作。CFile从CObject派生,其派生类包括操作文本文件的CStdioFile,操作内存文件的CmemFile,等等。具体函数的用法可以查看MSDN ,下面是MSDN上的...

MFC中二进制方式读取文件的方法
添加一个打开文件对话框,用CFileDialog类;用CFile类,在构造时指定读取方式(CFile::typeBinary Sets binary mode (used in derived classes only).),不过得从CFile派生一个类

MFC 如何实现该文件的读取?最好是将中文和英文分开存放。
文本文件:只可被任意文本编辑器读取ASCII文本。二进制文件:指对包含任意格式或无格式数据的文件的统称。这里只介绍文本文件的读写,INI文件也属于文本文件的范畴,且INI文件的结构和用途与普通的文本文件不同,所以会单独介绍。右键文本文件,用IE打开,并尝试切换不同的编码试试,是否可以正常查看文件中...

mfc用二进制方式打开文件。
楼主想做什么?不明确 要读文本类容的话用 CString sRead;\/\/你读取的类容 while(f1.ReadString(sRead)){ \/\/你的处理代码 }

怎样用VC提取二进制文件内容的长度
FILE * fp = fopen(filename,"rb");fseek(fp,0,SEEK_END);int Len = ftell(fp);fclose(fp);

怎么读取MFC工程中的资源文件
如果是字符串资源,那么使用APP->LoadString(IDS_XXXX);就可以了,如果资源不是二进制的,那么推荐这样使用。如果是二进制资源(比如音频文件),那么注意不能使用字符串变量接收,因为有可能遇到\\0造成无法读取。方法很多,直接百度“VC 二进制资源”即可,代码很多,就不复制了。

【MFC求助】关于二进制文件读取的问题
CString str = pData;MD5(str);

MFC 把数据写入到二进制文件中
可以使用传统的Pascal操作文件的方法或者使用文件流。1、传统文件操作方法 AssignFile(f,'C:\\test');Rewrite(f);用BlockWrite或Write写入二进制信息;CloseFile(f);2、文件流 try f:=TFileStream.Create(FileName,fmCreate or fmOpenWrite);文件操作,写入数据 finally f.Free;end;...

关于快速显示二进制文件内容到MFC编辑框中
读到的一个字节分成高4位和低4位(用移位运算快点),对每4位做输出,而不是考虑怎么去处理一个字节 将你的读取放在一个独立的线程里,和UI线程分开,这样可以不至于无响应

相似回答