首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

C语言资料

2012-09-12 
C语言文件有个问题我有一个text文件里面的数据格式如下98 1C 1F 40F0 1C 1F 402C 1D 1F 40F0 1C 1F 40每行

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;
}

热点排行