本人刚学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;
}
最后报错:
不知道哪里错了,向大佬求助,弄懂这道题剩下几道就一通百通了...跪求
版权归原作者 weixin_58780354 所有, 如有侵权,请联系我们删除。