c语言strtok函数
时间: 2023-11-15 13:45:12 浏览: 102
`strtok`函数是C语言中的一个字符串分割函数,用于将字符串按照指定的分隔符进行分割。它的函数原型如下:
```c
char* strtok(char* str, const char* delimiters);
```
其中,`str`是要进行分割的字符串,`delimiters`是分隔符字符串。函数会返回分割后的子字符串,并且在内部会记录当前分割的位置,使得下一次调用该函数可以继续从上一次的位置开始分割。
下面是一个示例程序,演示了如何使用`strtok`函数分割字符串:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello, World! How are you today?";
const char delimiters[] = " ,!?"; // 分隔符包括空格、逗号和感叹号
char* token = strtok(str, delimiters);
while(token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delimiters);
}
return 0;
}
```
该程序会输出以下结果:
```
Hello
World
How
are
you
today
```
注意,每次调用`strtok`函数时,第一个参数应该是分割的字符串的地址,而不是常量字符串。并且在第一次调用时,需要将原始字符串传递给`strtok`函数,之后的调用中应该传递`NULL`。此外,由于`strtok`在内部修改了原始字符串,所以如果需要保留原始字符串,可以先创建一个副本进行分割。
阅读全文