strtok()
所属头文件:#include <string.h>
函数原型:
char * strtok ( char * str, const char * delimiters);
通过给定标志字符串delimiters分割目标字符串,目标字符串str不能是常量字符串。若分割成功,则返回第一段子串;若还可以继续分割,则返回第二段字串。
返回的char * 不需要用户释放,因为该函数并没有malloc内存。
案例一
在MQTT中主题的格式一般是这样的:livingroom/device/temperature,需要逐个分割出来,就可以用来strtok()函数。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char str[] = {"livingroom/device/temperature"};
char *token = strtok(str, "/");
while (token)
{
printf("%s ", token);
token = strtok(NULL, "/");
}
printf("\n");
return 0;
}
结果:
案例二
在自定义数据格式:A||B||C,需要将它们分割出来,也可以用到strtok()函数
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
char str[] = {"A||B||C"};
char *token = strtok(str, "||");
while (token)
{
printf("%s ", token);
token = strtok(NULL, "||");
}
printf("\n");
return 0;
}
结果:
标签:strtok,int,char,token,str,使用,include From: https://www.cnblogs.com/caojun97/p/18282518