0


萌新求助:如何统计二进制文件中某个ASCII码的个数

本人刚学C语言文件,对一些语法不是很了解...

题目要求:

输入一个2位的十六进制数,统计二进制文件

a.dat

中有多少个字节其值恰好等于该十六进制数,统计结果必须以

"%d\n"

的格式写入到文本文件

b.txt

中。 例如: 设

a.dat

中包含以下内容(已转化成十六进制格式显示):

: 0x01 0x02 0x03 0x41 0x42 0x43 0x0D 0x0A 0xFF 0xFE 0xFD 0x01 0x02 0x03 0x80 0x7F 0x0D 0x0A 

###输入输出示例:###

输入:

01

输出:

2

因为文件中有2个0x01。

输入:

FF

输出:

1
菜狗的代码:

#include<stdio.h>
main()
{
FILE *in,out;
int a[1000];
int b,cnt=0,n=0,i;
int p=a;
in=fopen("a.dat","rb");
out=fopen("b.txt","wb");
fscanf(in,"%x ",&p);
while (
(p+n)!=EOF)
{
n++;
fscanf(in,"%x ",&
(p+n));
}
scanf("%x",&b);
for(i=0;i<n;i++)
{
if(b==
(p+i))
{
cnt++;
}
}

 fprintf(out,"%d\n",cnt);
 fclose(out);
 fclose(in);
 in=NULL;
 out=NULL;
 return 0;

}

最后报错:

不知道哪里错了,向大佬求助,弄懂这道题剩下几道就一通百通了...跪求

标签:

本文转载自: https://blog.csdn.net/weixin_58780354/article/details/117719968
版权归原作者 weixin_58780354 所有, 如有侵权,请联系我们删除。

“萌新求助:如何统计二进制文件中某个ASCII码的个数”的评论:

还没有评论