C语言从内存取值赋给结构体

来源:百度知道 编辑:UC知道 时间:2024/05/22 13:58:00
做手持设备开发,但手持设备是不识别文件的,所以只能事先将文件下载到手持设备的一个地址比如:8000开始的位置:我在程序中定义了一个结构体
typedef struct user_info
{
int flag; //表示数据是否有效,比如为0认为无效数据,非0即使有效
int ID; //用户编号
char name[128]; //用户名字
char password[256]; //用户密码
};
用户文件是一文本文件的形式读取到内存中的,文本文件的格式如下:
接口标准:
<操作员1编号>,<操作员1名称>,<操作员1密码>(回车换行)
<操作员2编号>,<操作员2名称>,<操作员2密码>(回车换行)
……
<操作员N编号>,<操作员N名称>,<操作员N密码>

数据属性:(长度定义为最大长度,不是指定长度)
名称 类型 长度
操作员编号 数字 4
操作员名称 字符 10
操作员密码 字符 8
接口示例:
0001,User1,11111111
0002,User2,11111
….
0101,User10,abcdefg
现在问题是我怎么才能从内存中检测这些数据而赋值给结构体呢
因为数据的最大长度虽然是固定的,但实际长度是活的,如果用逗号分隔数据的话怎么才能检测的,感觉循环非常麻烦,而且还要检测一行结束后的回车换行符
请高人给个方法,我是新人,最好给个参考的程序

有难度,怎样知道数据有多少组?

如果结构体定义好的话,可以考虑用memcpy

你不但是新人,而且是菜鸟,是不思上进、不想花时间认真学习的菜鸟。