linux c 函数文档描述如下:
头文件: #include<string>
函数定义: char *strtok(char *s, cont char *delim);
函数说明:
strtok()用来将字符串分割成一个个片段。参数s指向欲分割的字符串,参数delim则为分割字符串,当strtok()在参数s的字符串中发现到参数delim的分割字符
时则会将该字符改为\0 字符。在第一次调用时,strtok()必需给予参数s字符串,往后的调用则将参数s设置成NULL。每次调用成功则返回下一个分割后的字符
串指针。
返回值: 返回下一个分割后的字符串指针,如果已无从分割则返回NULL
以下例子截取@和#之间的字符串
#include <stdio.h>
#include <string.h>
void main()
{
char str[] = "abc@client_ip#def@client_mac#ghi";
const char * del1 = "@";
const char * del2 = "#";
char *p = NULL;
for(p = strtok(str, del1); p; p = strtok(NULL, del1))
{
printf("%s\n", p);
p = strtok(NULL, del2);
if(p)
printf("%s\n", p);
}
}
运行结果
abc
client_ip
def
client_mac
ghi