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