C语言文件

weicheichei 2012-08-30 01:48:20
有个问题我有一个text文件里面的数据格式如下
98 1C 1F 40
F0 1C 1F 40
2C 1D 1F 40
F0 1C 1F 40
每行有四个16进制的数据,我想把每一行的数据读入到程序的数组里去,怎么弄,数据有很多行,谢谢大家
...全文
91 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weicheichei 2012-08-31
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]
同学,不能这样啊,给了代码就把分全给他。令替他人伤心啊。。。。给代码不是件好事!
[/Quote]
哥们主要是悬赏太少了,别人写那么多代码我都不好意思了谢谢
whucv 2012-08-30
  • 打赏
  • 举报
回复
http://blog.csdn.net/limuyun/article/details/6577093
赵4老师 2012-08-30
  • 打赏
  • 举报
回复

//如果要改为
char A[MAXLN][4];
//则必须
int i0,i1,i2,i3;
//...
if (4==sscanf(ln,"%2x %2x %2x %2x",&i0,&i1,&i2,&i3)) {
A[n][0]=(char)i0;
A[n][1]=(char)i1;
A[n][2]=(char)i2;
A[n][3]=(char)i3;
} else {
printf("line %d format error:%s\n",n+1,ln);
break;
}
//...
for (i=0;i <n;i++) printf("%4d %02X %02X %02X %02X\n",i,(unsigned char)A[i][0],(unsigned char)A[i][1],(unsigned char)A[i][2],(unsigned char)A[i][3]);
//...
Gonefar 2012-08-30
  • 打赏
  • 举报
回复
同学,不能这样啊,给了代码就把分全给他。令替他人伤心啊。。。。给代码不是件好事!
wanglu343280746 2012-08-30
  • 打赏
  • 举报
回复
终于见zhao大叔有了次靠谱的回复。定义一个二维字符数组。然后用fgets函数读就可以了。LZ可以看看文件读写的那几个函数。
weicheichei 2012-08-30
  • 打赏
  • 举报
回复
我啥都不想说了,一个赞,赞三楼,也赞四楼,谢谢!
Gonefar 2012-08-30
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
引用 1 楼 的回复:
读出来的是字符,转为数据后存入数组里。以空格作为一个新数据的开始和结束,以换行号作为读下一行的开始。
哥们有没有一段小程序,参考一下
不胜感激
[/Quote]
自己写出来的才能学到东西啊。
赵4老师 2012-08-30
  • 打赏
  • 举报
回复
#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;
}
weicheichei 2012-08-30
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
读出来的是字符,转为数据后存入数组里。以空格作为一个新数据的开始和结束,以换行号作为读下一行的开始。
[/Quote]哥们有没有一段小程序,参考一下
不胜感激
Gonefar 2012-08-30
  • 打赏
  • 举报
回复
读出来的是字符,转为数据后存入数组里。以空格作为一个新数据的开始和结束,以换行号作为读下一行的开始。

69,370

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧