100分求助,请问用什么工具或者方法可以以二进制比特流的形式打开一个文件,然后查看组成该文件的二进制序列,谢谢您! 如题,很简单,送分了! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 VC,CTRL+O,在Open As框中选Binary 没看清题目,不知UltaEdit有这个功能没.实在没有的话,老兄,不好意思,自己编吧 读写二进制文件 FILE * pStream; if ((pStream=fopen(m_strFileName,"w+b"))==NULL) { AfxMessageBox(_T("打开文件失败!")); }写 if (fwrite(&m_nTotal,sizeof(int),1,pStream)<1) { AfxMessageBox(_T("写入文件失败!")); fclose(pStream); return false; }读 int nOffeSet=0; fread(&(psql->m_nTotal),SizeOfInt,1,pStream); nOffeSet+=SizeOfInt; fseek(pStream,nOffeSet,0); fread(&(psql->m_nNumCols),SizeOfInt,1,pStream); if (fclose(pStream)==EOF) { AfxMessageBox(_T("关闭文件出错!")); return false; } VC 用Binary方式打开就可以了 那么请问用这种方式打开的数据,包不包括文件头的信息,比如说RGB文件由文件头、信息头、色彩表和象素表构成,那么用这种方式打开的文件是只包括象素表中的实际图象信息还是将文件头、信息头和色彩表的内容都包括了! 再请问一下我用Binary方式打开文件后,为什么用VC的打印功能打印该文件无效,打印出来的全是乱码,请问有什么办法可以正常打印Binary方式打开的文件! 打开一个文件,当然是所有的内容都包含了!不会只是一部份的!尤其用二进制文件形式打开。VC打印时,可能是直接打印了原内容,而不是你看到的十六进制和原文对应表。你去下一个UltraEdit,就可以了正常使用了! CFile( LPCTSTR lpszFileName, UINT nOpenFlags );指定nOpenFlags为typeBinary 即可以二进制方式打开文件 给你段二进制转换成文本文件的代码CFile file("test.bin", CFile::modeRead);DWORD dwLen = file.GetLength();char *pBuf = new char[dwLen];file.Read(pBuf, dwLen);file.Close();file.Open("test.txt", CFile::modeReadWrite | CFile::modeCreate);CString sLine = "";for(DWORD i = 0; i < dwLen; i++){ if(i % 16 == 0) { sLine += "\r\n"; file.Write((LPCTSTR)sLine, sLine.GetLength()); sLine.Format("%08x %02X", pBuf[i]); } else { CString str; str.Format(" %02X", pBuf[i]); sLine += str; }}file.Write((LPCTSTR)sLine, sLine.GetLength());file.Close();delete[] pBuf; ntdll! 7c92120e()求解决方法! 如何设定打印机纸张大小? 求修改指定行指定字段记录的SQL语句,解决加分! Lady and Gentleman : help me!thank you ! help me!! 介绍几个学习VC的网站和电子图书,谢谢 CString 的类型转换? 请帮忙!!!! 卸载vs2005求助 请问软件开发的正规流程是怎样的?? 怎么在按扭上,和菜单上加载一个图片。 簡單問題﹐如何顯示數據
实在没有的话,老兄,不好意思,自己编吧
if ((pStream=fopen(m_strFileName,"w+b"))==NULL)
{
AfxMessageBox(_T("打开文件失败!"));
}
写
if (fwrite(&m_nTotal,sizeof(int),1,pStream)<1)
{
AfxMessageBox(_T("写入文件失败!"));
fclose(pStream);
return false;
}
读
int nOffeSet=0;
fread(&(psql->m_nTotal),SizeOfInt,1,pStream);
nOffeSet+=SizeOfInt;
fseek(pStream,nOffeSet,0);
fread(&(psql->m_nNumCols),SizeOfInt,1,pStream); if (fclose(pStream)==EOF)
{
AfxMessageBox(_T("关闭文件出错!"));
return false;
}
CFile file("test.bin", CFile::modeRead);
DWORD dwLen = file.GetLength();
char *pBuf = new char[dwLen];
file.Read(pBuf, dwLen);
file.Close();
file.Open("test.txt", CFile::modeReadWrite | CFile::modeCreate);
CString sLine = "";
for(DWORD i = 0; i < dwLen; i++)
{
if(i % 16 == 0)
{
sLine += "\r\n";
file.Write((LPCTSTR)sLine, sLine.GetLength());
sLine.Format("%08x %02X", pBuf[i]);
}
else
{
CString str;
str.Format(" %02X", pBuf[i]);
sLine += str;
}
}
file.Write((LPCTSTR)sLine, sLine.GetLength());
file.Close();
delete[] pBuf;