用C++编的小程序十六进制读取文件,为什么会出现乱码?到底哪里错了?

#include<iostream>#include<fstream>usingnamespacestd;intmain(){ifstreamin("np.exe");c... #include <iostream>
#include <fstream>
using namespace std;

int main()
{ifstream in("np.exe");

char ch;
while (in.read(&ch,1))
{

cout<<hex<<ch<<" ";
}

}用dev C++编的。
展开
 我来答
百家点我
2011-10-07 · 超过25用户采纳过TA的回答
知道答主
回答量:152
采纳率:0%
帮助的人:68.1万
展开全部
int main()
{ifstream in("np.exe");

char ch;
while (in.read(&ch,1))
{

cout<<hex<<ch<<" ";
return ch;//因为需要返回类型
}
追问
可是还是出现乱码啊!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
icecoobe
2011-10-07 · TA获得超过1989个赞
知道小有建树答主
回答量:1058
采纳率:100%
帮助的人:1096万
展开全部
首先你得去查找资料了解下PE格式的内容。
np.exe属于PE格式,里面本来就有很多乱码(PE头信息很容易辨认的“This program 。。。”),使用UE打开也是如此,不信你试试。。。。
跟你直接cout输出是一样的,乱码不是你程序的问题。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式