一: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); }