永发信息网

c/c++ 打开十六进制的文件 并以十进制输出

答案:5  悬赏:50  手机版
解决时间 2021-04-18 16:44
c/c++ 打开十六进制的文件 并以十进制输出
最佳答案
你的程序从语法上没有问题,编译时应该没错误,但执行时,提示fread问题,可能是找不到文件,也就是说fp==NULL,所以你最好将程序做点修改,加上出错处理:
if ((fp = fopen("abc.DRM","rb"))==NULL)
{
fprintf("\n文件打开错误");
}
else
{
……
}
还有,你可能得不到想要的结果,原因是这样:
1.读出的四个字节,数据是:23 D4 45 AE,而不是23 D4;不知你的原意是否如此?
2.*(long*)tep_no强制转换时,数据会是0xAE45D423对应的十进制数,原因是系统中数据是逆序的,即低字节在前,高字节在后。所以你要做换序处理。追问我其实有一个完整的程序 只是想将其中更加完善 你说系统中数据是逆序的 这是怎么回事儿 恩 其实数据之间没有空格 我要的就是23 D4 45 AE追答逆序就是:tep_no[4]=“23 D4 45 AE”
但*(long*)tep_no=0xAE45D423
全部回答
你的程序从语法上没有问题,编译时应该没错误,但执行时,提示fread问题,可能是找不到文件,也就是说fp==NULL,所以你最好将程序做点修改,加上出错处理:
if ((fp = fopen("abc.DRM","rb"))==NULL)
{
fprintf("\n文件打开错误");
}
else
{
……
}
还有,你可能得不到想要的结果,原因是这样:
1.读出的四个字节,数据是:23 D4 45 AE,而不是23 D4;不知你的原意是否如此?
2.*(long*)tep_no强制转换时,数据会是0xAE45D423对应的十进制数,原因是系统中数据是逆序的,即低字节在前,高字节在后。所以你要做换序处理。
vc6.0编译没出错
参考下,如果数据彼此是用空格分开,下面程序能执行计算任务
#include
#include
#define N 4//定义每4个字节进行累加
void main()
{
FILE *fp;
//char temp[128];
//char tep_no[4];
int v,x[N],i=0,sum=0;
//memset(temp,'\0',sizeof(temp));
memset(x,0,sizeof(x));
if((fp=fopen("b.in","rb"))!=NULL)
{
//fread(temp,1,127,fp);
//strncpy(tep_no,temp,4);
//printf("%ld\n",*(long*)tep_no);
fscanf(fp,"%x",&v);//一次读入一个数值,利用数据之间是空格
while(!feof(fp))//没有到文件末尾
{
sum=0;//每次置sum为0
for(i=0;!feof(fp)&&i {
x[i]=v;//将数值取出
sum<<=8;//左移8位数,转换成高位
sum+=v;//加入地位

fscanf(fp,"%x",&v);
}

printf("%x\n",sum);//用十六进制显示累加和是否和文件信息匹配
//printf("%d\n",sum);//十进制显示

}
fclose(fp);
}
}
程序在vs2010下编译通过,并可以运行。c++是兼容c的,绝大部分c语句可在c++里使用。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
发票章怎么加油
小孩做手术前的祝福语,朋友快要做手术的祝福
很多数字的成语
怎样退出珍爱网会员
赛尔号D级技能石怎么用
你为什么要做行政工作,行政工作都包含什么
简述学前教育的意义,简述学前教育的意义
ipad 可以用ps cdr ai cad软件作图吗?
龙的诗词,求关于龙的诗句
崇高的职业名言,描写专业的语句
科迪电子秤使用方法
毕业一句话搞笑,毕业生送给学校的一句话
人物面部表情有哪些,形容人面部表情的词语有
银联钱包优惠券怎么用,线下消费时如何使用银
国美电器昌平店地址在哪,我要去那里办事
推荐资讯
关于岀租房安全警示语
爱的赞颂的诗词名句,赞美青铜器的句子
安监工作标语,做一名有高度责任心的核电工作
关于茶叶的优美句子,形容茶叶的句子
纸牌屋第四季结局台词,纸牌屋第二季台词
银行安全保卫标语,中国农业银行广告语
表示爱一个人的诗句,请问,有什么句子是讽刺
带 翠字的成语 寓意比较好的
英文歌名字发音为哈是哈是、求拼写
东周又分为_______和________时期
现在有哪些好看的小说,最近有什么好看的小说
跟二次元有关的语句,WWE疯子 迪安,有没有说过
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?