字符串命令解析
2016-04-13 15:37
183 查看
#include"stdio.h"
char * str_str(char *des,char *str){
char *ptr1,*ptr2;
while(*des){
ptr1=des;
ptr2=str;
do{
if(*ptr2==0)
return des;
}while(*ptr1++==*ptr2++);
des++;
}
return NULL;
}
void parse(char* des,char item_cmd[10][10]){
int ide_i=0,ide_j=0;
char (*arr)[10];
char *ptr=str_str(des,"=");
ptr++;
printf("%s\n",ptr);
arr=item_cmd;
while(*ptr){
if(*ptr==','){
arr[ide_i][ide_j]=0;
printf("%s\n",arr[ide_i]);
ide_j=0;
ide_i++;
printf("\n");
}else{
arr[ide_i][ide_j]=*ptr;
ide_j++;
}
ptr++;
}
arr[ide_i][ide_j]=0;
printf("%s\n",arr[ide_i]);
}
void main(){
char item_cmd[10][10];
char *des="PWMDUTY=1000,0:100,1:200,2:300,3:400,4:500";
parse(des,item_cmd);
}
打印结果:
esp8266@esp8266-VirtualBox:~$ ./a.out
1000,0:100,1:200,2:300,3:400,4:500
1000
0:100
1:200
2:300
3:400
4:500
esp8266@esp8266-VirtualBox:~$
char * str_str(char *des,char *str){
char *ptr1,*ptr2;
while(*des){
ptr1=des;
ptr2=str;
do{
if(*ptr2==0)
return des;
}while(*ptr1++==*ptr2++);
des++;
}
return NULL;
}
void parse(char* des,char item_cmd[10][10]){
int ide_i=0,ide_j=0;
char (*arr)[10];
char *ptr=str_str(des,"=");
ptr++;
printf("%s\n",ptr);
arr=item_cmd;
while(*ptr){
if(*ptr==','){
arr[ide_i][ide_j]=0;
printf("%s\n",arr[ide_i]);
ide_j=0;
ide_i++;
printf("\n");
}else{
arr[ide_i][ide_j]=*ptr;
ide_j++;
}
ptr++;
}
arr[ide_i][ide_j]=0;
printf("%s\n",arr[ide_i]);
}
void main(){
char item_cmd[10][10];
char *des="PWMDUTY=1000,0:100,1:200,2:300,3:400,4:500";
parse(des,item_cmd);
}
打印结果:
esp8266@esp8266-VirtualBox:~$ ./a.out
1000,0:100,1:200,2:300,3:400,4:500
1000
0:100
1:200
2:300
3:400
4:500
esp8266@esp8266-VirtualBox:~$
相关文章推荐
- selector示例
- processor示例
- NSNotificationCenter 的使用详解
- sql 关于dblink和多条update、insert事务回滚写法
- 053(十二)
- hibernate.cfg.xml的参数详解
- ToolBar
- 手把手教会popupWindow从下往上弹出效果的实现
- java模拟PHP的pack和unpack类
- Java 输入
- unity 得到js的Json,类似\u624b\u8868这种转换为汉字的方法
- RabbitMQ入门(五) —— vhost
- 服务端开发团队人员构成
- 大型网站架构学习笔记
- JSP关于Frameset的简单用法
- 4.1 最大子数组问题(分治法)-NlogN
- 在Ubuntu下安装Python
- BPFP系列:优化电池使用时间:根据需要操作广播接收器
- 175.Which two statements are true regarding savepoints? (Choose two.)
- sink示例