将数据保存到数组

wxdcxp 2009-12-16 04:59:40

00 00 01 F4 00 00 01 F9 00 00 01 F4 00 00 01 F4
00 00 01 FE 00 00 01 F4 00 00 01 F4 00 00 01 F9
00 00 01 F4 00 00 01 F4 00 00 01 FE 00 00 01 F4
00 00 01 F4 00 00 01 F9 00 00 01 F4 00 00 01 F4
00 00 01 FE 00 00 01 F4 00 00 01 F4 00 00 01 F9
00 00 01 F4 00 00 01 F4 00 00 01 FE 00 00 00 00
00 00 00 00 00 00 02 44 00 00 02 44 00 00 02 44
00 00 01 B8 00 00 01 B8 00 00 01 B8 00 00 02 44
00 00 01 B8 00 00 02 44 00 00 01 B8 00 00 02 44
00 00 01 B8 00 00 02 44 00 00 01 B8 00 00 00 00
00 00 00 00 00 00 00 02 00 00 00 73 00 00 00 A3
FF FF FF FD 00 00 00 75 00 00 00 7F FF FF FF FD
00 00 00 75 00 00 00 7F 00 00 00 00 00 00 00 00
00 00 06 F6 00 00 07 E0 00 00 06 F4 00 00 02 16
00 00 02 12 00 00 02 1B 00 00 00 80 00 00 00 80
00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00
00 00 06 F6 00 00 07 E0 00 00 06 F4 00 00 02 16
00 00 02 12 00 00 02 1B 00 00 00 80 00 00 00 80
00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00
00 00 06 F6 00 00 07 E0 00 00 06 F4 00 00 02 16

最近在做一个自动读取EEPROM数据的Tool,以上是部分EEPROM的数据
如何将以上数据保存到一个二维数组里?
...全文
214 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZXW0521 2009-12-16
  • 打赏
  • 举报
回复
如果源是字符串类型的,

char buf[] = {.......}; //那些要读的东西
char tmp[3];

int result[40][16];//不一定是40行,假设是40行
memset(result, 0, 40*16*sizeof(int));
for (int i = 0; i < 40; i++)
{
for (int j = 0; j < 16; i++)
{
tmp[0] = buf[(i*16+j)*2];
tmp[1] = buf[(i*16+j)*2 + 1];
tmp[2] = 0;

result[i][j] = atoi(tmp);
}
}
ZXW0521 2009-12-16
  • 打赏
  • 举报
回复
每次读2个字符,转成数字,存到一个单元里,
循环做就可以了,

有点没弄清楚lz的意思
wxdcxp 2009-12-16
  • 打赏
  • 举报
回复
例如a[0][0]里的内容是"00"
a[2][0]里的内容是"01"
wxdcxp 2009-12-16
  • 打赏
  • 举报
回复
忘记说明了,需要的数据不能包含空格
cattycat 2009-12-16
  • 打赏
  • 举报
回复
EEPROM是什么,你的数据是二进制的?如果是二进制的话,直接定义int的二维数组,每一行可以当成有4个int元素,行数就是你共有多少行。
昵称很不好取 2009-12-16
  • 打赏
  • 举报
回复
只针对你给的数据,如果数据行数与列数会变,可以通过移动文件指针进行判断,进而分配数组大小
#include <stdio.h> 
#include <stdlib.h>

int main (void) {
FILE *fp=NULL;
int i=0;
char a[20][52];
fp = fopen("C:\\1.txt","r");
if(!fp){
printf("Error\n");
exit(0);
}
for(i=0; i<20; i++){
fgets(a[i],51,fp);
}

for(i=0; i<20; i++){
printf("%s",a[i]);
}

fclose(fp);

return 0;
}

69,378

社区成员

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

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