字符串操作函数(二)

一:atoi/ atol /atof 字符串转数值

字符串操作函数(二)_第1张图片
字符串操作函数(二)_第2张图片
二:strtok 字符串切割
字符串操作函数(二)_第3张图片


void test09()  
{      
char data[]="hehe:heiehi#xixi:haha!lala:henhen?wuwu";      
char *buf[16]={NULL};        
int i=0;      
buf[i] = strtok(data,":#!?");            
//判断上一次切割是否成功 如果成功才进行下一次切割      
while(buf[i] != NULL)      
{          
i++;          
buf[i] = strtok(NULL, ":#!?");      
}        
//遍历      
i =0;      
while(buf[i] != NULL)      
{          
printf("%s\n", buf[i]);          
i++;      
}  
}  

运行结果;
字符串操作函数(二)_第4张图片
案例:


void test09()  
{      
char data[]="hehe:heiehi#xixi:haha!lala:henhen?wuwu";      
char *buf[16]={data,NULL};        
//判断上一次切割是否成功 如果成功才进行下一次切割      
int i=0;      
while(1)      
{          
buf[i] = strtok(buf[i], ":#!?");          
if(buf[i] == NULL)              
break;          
i++;      
}        
//遍历      
i =0;      
while(buf[i] != NULL)     
{          
printf("%s\n", buf[i]);          
i++;      
}
 }  

三:sprintf 组包


void test01()  
{      
int year = 2019;      
int mon = 8;      
int day = 1;        
//需求:将2019 8 1组成 2019年8月1日      
char buf[64]="";      
int len = sprintf(buf,"%d年%d月%d日",year,mon,day);      
printf("len = %d\n", len);      
printf("%s\n", buf);        
//需求:小明:18:男:北京海淀区      
char name[]="小明";      
int age = 18;      
char sex[]="男";      
char addr[] ="北京海淀区";       
char buf2[128]="";      
len = sprintf(buf2,"%s:%d:%s:%s",name,age,sex,addr);      
printf("len = %d\n", len);     
printf("%s\n", buf2);        
//上线:版本号:块编号:主机名:用户名:功能:附加消息        
//使用sprintf将数值 转成 字符串      
char buf3[16]="";      
sprintf(buf3,"%d",128);      
printf("buf3=%s\n", buf3);  }  

你可能感兴趣的:(C语言)