字符串操作函數(二)

一:atoi/ atol /atof 字符串轉數值

在這裏插入圖片描述
在這裏插入圖片描述
二:strtok 字符串切割
在這裏插入圖片描述


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++;      
}  
}  

運行結果;
在這裏插入圖片描述
案例:


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);  }  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章