C语言strtok
时间: 2023-07-02 18:17:51 浏览: 102
C语言切割多层字符串(strtok_r strtok使用方法)
C语言中的strtok函数用于将字符串按照指定的分隔符进行切割,返回切割后的子字符串。
函数原型如下:
```
char *strtok(char *str, const char *delim);
```
其中,str为要切割的字符串,delim为分隔符,可以是多个字符。第一次调用时,str指向被切割的字符串,后续调用时str传入NULL。
函数返回值为切割后的子字符串,如果没有子字符串了,返回NULL。注意,该函数会修改原字符串,将分隔符替换成空字符'\0'。
以下是一个使用strtok函数切割字符串的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "hello,world,this,is,a,test";
char *p;
p = strtok(str, ","); // 第一次调用,指定分隔符为逗号
while (p != NULL) {
printf("%s\n", p);
p = strtok(NULL, ","); // 后续调用,传入NULL表示继续切割原字符串
}
return 0;
}
```
该程序的输出为:
```
hello
world
this
is
a
test
```
注意,如果要切割的字符串中有连续的分隔符,例如",,",则会被视为一个分隔符,中间没有子字符串。如果需要区分连续分隔符,可以使用其他方法进行切割,例如手动遍历字符串并查找分隔符。
阅读全文