请问如何把一个二进制文件转成10进制文件即用记事本可以直接打开观看的文件

starnight2008 2004-11-22 11:00:03
如题。
...全文
237 点赞 收藏 9
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
starnight2008 2004-11-23
唉,散分了,原来我把问题想错了。我原来的法子就可以实现二进制到十进制,但是我要解的文件经过了加密操作,解了也没用
回复
mingbao 2004-11-22
很容易实现,假如每次转换一个字节.
CFile theSrcFile, theDstFile;
theSrcFile.Open("d:\\aaa.exe",CFile::modeRead|CFile::typeBinary);
theDstFile.Open("d:\\aaa.txt",CFile::modeWrite|CFile::typeBinary);
BYTE pBuff;
UINT Sent=0;
UINT temp=0;
char theResult[4]={0}; //一个字节转化成 10 进制顶多为 255, 不会超过 3 位.
CString str="";
while(Sent<theSrcFile.GetFileSize( ))
{ temp=0;
temp=theFile.Read(pBuff, 1);
str.Format("%d", pBuff);
memset(theResult,0,4);
strcpy(theResult, str.operator lpcstr( ) ) //好像是这个成员涵数吧
theDstFile.Write(theResult+" ", strlen(theResult+" "));
Sent+=temp;

}

theSrcFile.Close(); theDstFile,Close();
AfxMessageBox("文件转换完毕!",MB_OK+MB_ICONINFORMATION);
回复
starnight2008 2004-11-22
例如,我把字符串"This is a test"存到二进制文件中,然后我想我二进制文件中的一对乱码还原为
"This is a test"怎么做??
回复
starnight2008 2004-11-22
那么用UltraEdit怎么转换
回复
DentistryDoctor 2004-11-22
UltraEdit,HexEdit之类的就行。
回复
pomelowu 2004-11-22
用专门的编辑查看工具就是了,比如UltraEditor或者SourceInsight之类。
回复
相对来说用十进制看倒不如用十六进制看更好让人明白程序的意图.

你可以用的编辑环境,比如VS6.0打开文件时按二进制打开就可以查看文件并可以修改了.不过记得备份你的文件,要是改坏了可以再替换的.
回复
lsgt 2004-11-22
把文件读进内存,然后在内存中转换成你需要的格式输出到另外的文件。
回复
saliors 2004-11-22
要看你的二进制文件都是什么啊,怎么可以一概而论
不过你可以用记事本直接打开二进制文件,只是不知你能不能看懂。
回复
相关推荐
发帖
VC/MFC
创建于2007-09-28

1.5w+

社区成员

VC/MFC相关问题讨论
申请成为版主
帖子事件
创建了帖子
2004-11-22 11:00
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……