strtok的用法
时间: 2023-07-08 18:19:29 浏览: 96
C语言切割多层字符串(strtok_r strtok使用方法)
strtok函数是C语言中的字符串处理函数,用于将一个字符串分割成多个子字符串(标记)。
函数原型如下:
```c
char *strtok(char *str, const char *delim);
```
函数参数说明:
- `str`:要被分割的字符串。
- `delim`:分割字符串的分隔符。
函数返回值:返回分割后的子字符串。
使用方法:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "apple,banana,orange";
char *token;
token = strtok(str, ",");
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, ",");
}
return 0;
}
```
输出结果:
```
apple
banana
orange
```
在上面的示例中,首先声明一个字符串`str`,然后使用逗号作为分隔符将字符串分割成多个子字符串。在循环中,使用`strtok`函数获得分割后的第一个子字符串,如果不为`NULL`,就输出子字符串,并继续使用`strtok`函数获得下一个子字符串,直到所有的子字符串都被输出完毕。
需要注意的是,第一次调用`strtok`函数时,需要将要分割的字符串作为参数传入,而之后的调用需要将第一个参数设置为`NULL`,以便函数能够继续处理原始字符串。此外,`strtok`函数会改变原始字符串,将分割符替换成空字符,因此在使用`strtok`函数之前需要备份原始字符串。
阅读全文