C语言文件
有个问题我有一个text文件里面的数据格式如下
98 1C 1F 40
F0 1C 1F 40
2C 1D 1F 40
F0 1C 1F 40
每行有四个16进制的数据,我想把每一行的数据读入到程序的数组里去,怎么弄,数据有很多行,谢谢大家
[解决办法]
- C/C++ code
#include <stdio.h>
#include <string.h>
#define MAXLN 10000
int A[MAXLN][4];
FILE *f;
char ln[80];
int i,n;
int main() {
f=fopen("data.txt","r");
if (NULL==f) {
printf("Can not open file data.txt!\n");
return 1;
}
n=0;
while (1) {
if (NULL==fgets(ln,80,f)) break;
if ('\n'!=ln[strlen(ln)-1]) {
printf("line %d too long:%s\n",n+1,ln);
break;
}
if (4!=sscanf(ln,"%2x %2x %2x %2x",&A[n][0],&A[n][1],&A[n][2],&A[n][3])) {
printf("line %d format error:%s\n",n+1,ln);
break;
}
n++;
if (n>=MAXLN) {
printf("line >%d ignored!\n",MAXLN);
break;
}
}
fclose(f);
for (i=0;i <n;i++) printf("%4d %02X %02X %02X %02X\n",i,A[i][0],A[i][1],A[i][2],A[i][3]);
return 0;
}