如何实现C语言中按协议存储与解析数组数据的功能?
- 内容介绍
- 相关推荐
本文共计815个文字,预计阅读时间需要4分钟。
协议需求:(1)序列号(1个字节)+ 属性(1个字节)+ 名称(18个字节)+ (2)现有空间600个字节,以20个字节为单位,分别存储数据,直至存满为止,并能解析。
协议需求:
- (1)序列号(1个字节) 属性(1个字节) 名称(18个字节)
- (2)现有一块空间为600个字节,以20个字节为单位,分别存储以上数据,直到存满为止,并能解析。
根据协议,我们可以设计一个结构体来表述这些数据:
struct Data_Info { char serial_num ; //序列号 char property ; //属性 char sample_name[18]; //分类名称 };
恰恰在做嵌入式开发或者有关协议的开发就会要求类似这样的需求,我们可以写一个简单的C程序模拟一下这个过程:
首先,模拟一堆已经定义好的数据,用来表示Data_Info里的分类名称:
char *name[] = { "水果", "蔬菜", "啤酒", "酒精", "柴油", "娃哈哈", "奶茶", "雪碧", "可乐", "硫酸", "盐酸", "硝酸" };
接下来,写一个函数,用于随机初始化一块600个字节的内存空间,初始化600个字节中,以每20个字节为单位,分别按协议的要求初始化序列号、属性、名称。
本文共计815个文字,预计阅读时间需要4分钟。
协议需求:(1)序列号(1个字节)+ 属性(1个字节)+ 名称(18个字节)+ (2)现有空间600个字节,以20个字节为单位,分别存储数据,直至存满为止,并能解析。
协议需求:
- (1)序列号(1个字节) 属性(1个字节) 名称(18个字节)
- (2)现有一块空间为600个字节,以20个字节为单位,分别存储以上数据,直到存满为止,并能解析。
根据协议,我们可以设计一个结构体来表述这些数据:
struct Data_Info { char serial_num ; //序列号 char property ; //属性 char sample_name[18]; //分类名称 };
恰恰在做嵌入式开发或者有关协议的开发就会要求类似这样的需求,我们可以写一个简单的C程序模拟一下这个过程:
首先,模拟一堆已经定义好的数据,用来表示Data_Info里的分类名称:
char *name[] = { "水果", "蔬菜", "啤酒", "酒精", "柴油", "娃哈哈", "奶茶", "雪碧", "可乐", "硫酸", "盐酸", "硝酸" };
接下来,写一个函数,用于随机初始化一块600个字节的内存空间,初始化600个字节中,以每20个字节为单位,分别按协议的要求初始化序列号、属性、名称。

