啊快脑子炸了,字符串的有关问题。
求救啊,快脑子炸了,字符串的问题。。。。
艹啊,网速能不能给力点,发这个就发了三遍了。。。
我的任务是解析一段客户机发来的字符串,这段字符串包含了一个或者多个信息段,信息段之间用分号隔开,每个信息段有下面的几个字段,字段之间用逗号隔开,怎么解析这段字符串(注意是字符串),解析成下面的结构体形式。
————————————————————
------解决方案--------------------
C语言的话就用strtok按照","解析字符串。
解析出字符串后再使用strcpy(), atoi(), atol()函数为结构体对象赋值。
两个帖子,就两个回复。
------解决方案--------------------
------解决方案--------------------
客户端是谁做的?
能改设计吗?
真心的,用二进制流来传输数据更好!
因为这是机器之间的交流
不牵扯到人的交流
------解决方案--------------------
那就先用strtok找";".
或者用strchr()自己查找位置。然后解析。
其实很少用字符串传数据的,都是用二进制流传,性能高很多。
如果要用字符串,还不如用json。让json来解析数据。
要不就用protobuf。
=======================================================
这样比较合理。
如果没有办法改成这样的方法。
那就递归下降的方法来解析,
每次读取一个“;”的数据,
然后再解析这段数据。
------解决方案--------------------
三步:
1、解析码流,以;为标记取出信息段;
2、解析信息段,以,为标记取出字段码流;
3、分析各字段的合法性,并翻译之后,填入结构体变量。
艹啊,网速能不能给力点,发这个就发了三遍了。。。
我的任务是解析一段客户机发来的字符串,这段字符串包含了一个或者多个信息段,信息段之间用分号隔开,每个信息段有下面的几个字段,字段之间用逗号隔开,怎么解析这段字符串(注意是字符串),解析成下面的结构体形式。
- C/C++ code
struct recived_st { unsigned char client_id[40]; unsigned int client_ip; unsigned short client_port; unsigned int tunnel_ip; unsigned short tunnel_port; unsigned int app_ip; unsigned short app_port; long time; unsigned short index_port; };
————————————————————
------解决方案--------------------
C语言的话就用strtok按照","解析字符串。
解析出字符串后再使用strcpy(), atoi(), atol()函数为结构体对象赋值。
两个帖子,就两个回复。
------解决方案--------------------
------解决方案--------------------
客户端是谁做的?
能改设计吗?
真心的,用二进制流来传输数据更好!
因为这是机器之间的交流
不牵扯到人的交流
------解决方案--------------------
那就先用strtok找";".
或者用strchr()自己查找位置。然后解析。
其实很少用字符串传数据的,都是用二进制流传,性能高很多。
如果要用字符串,还不如用json。让json来解析数据。
要不就用protobuf。
=======================================================
这样比较合理。
如果没有办法改成这样的方法。
那就递归下降的方法来解析,
每次读取一个“;”的数据,
然后再解析这段数据。
------解决方案--------------------
三步:
1、解析码流,以;为标记取出信息段;
2、解析信息段,以,为标记取出字段码流;
3、分析各字段的合法性,并翻译之后,填入结构体变量。