strtok():字符串分割函数
// 所属函数库:<string.h>
// 函数声明:char *strtok(char *str, const char *delim)
// str:需要分割的字符串(指针类型)
// delim:分割符(指针类型),可以是多个分隔符
// 注意:
// 1.每个分隔符单独匹配,如abc是分别匹配a、b、c,不是集合匹配abc
// 2.函数调用后,会损坏字符串,将分隔符替换为0x00,连续检测到分隔符,将第一个分隔符替换为0x00
// 3.使用strtok(NULL, s)切向下一个字符串指针
// 4.字符串检索完成后返回null
int test ()
{
int i;
char str[30] = "111a222b333c444abc555";
const char s[5] = "abc";//注意:每个分隔符单独匹配
char *token;//存放返回字符串指针
/* 获取第一个子字符串 */
token = strtok(str, s);//检测到分隔符后,将分隔符替换为null,并返回分割符前字符串的首地址
/* 继续获取其他的子字符串 */
while( token != NULL ) {
printf( "%s\n", token );
token = strtok(NULL, s);
}
printf("分割后字符串输出:%s\n",str);
printf("分割后字符串按位输出:");
for(i=0;i<30;i++)
{
printf("%c",str[i]);
}
printf("\n");
return 0;
}
测试结果:
111
222
333
444
555
分割后字符串输出:111
分割后字符串按位输出:111 222 333 444 bc555
请按任意键继续. . .