求助 :如何将文件中的十六进制读取并保存在数组里
#include<stdio.h>#include<stdlib.h>
int main()
{
void showFile(char * filename, char *arr, int h, int w);
char arr[22][46];
int i,j;
showFile("D:\\pet.txt",*arr,22,46);
for(i=0;i<22;i++)
for(j=0;j<46;j++)
{
printf("%c",*(*(arr+i)+j));
}
printf("\n");
return 0;
}
void showFile(char * filename, char *arr, int h, int w)
{
int i,j;
FILE *f;
if((f=fopen(filename,"r"))==NULL)
{
printf("can not open the file \n");
exit(0);
}
//这里应该要有判断结束的前提。。。
fscanf(f,"%x ",(arr+i)+j);//把十六进制转化为十进制保存在数组里,但是要过滤掉空格以及换行
fclose(f);
}
以上是我写的程序,文件不知道怎么弄上去就粘贴几行,附在下面
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 0D 0A
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 2F 7D 20 20 0D 0A
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 2F 20 7D 20 20 0D 0A
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
题目是利用函数void showFile(char * filename, char *arr, int h, int w)读取txt文件,其中参数fileName的实参应为文件路径名,arr为二维数组首元素的地址,h为高,w为宽,(意思是保存在大小为h*w的二维数组)利用在main函数定义的二维数组存放数据。
我想问一下 如何处理空格和换行呢?就是红色字体部分?还有是不是我的程序存在什么问题、
谢谢各位了