用c语言实现字符串strtok
时间: 2024-02-28 22:50:36 浏览: 80
在C语言中,可以使用库函数`strtok`来实现字符串的分割。strtok`函数可以将一个字符串按照指定的分隔符进行分割,并返回分割后的子字符串。
`strtok`函数的原型如下:
```c
char *strtok(char *str, const char *delim);
```
其中,`str`是要分割的字符串,`delim`是分隔符。第一次调用时,需要将要分割的字符串作为参数传入;之后的调用,将传入NULL作为参数。每次调用`strtok`函数,它会返回分割后的子字符串,并将原字符串中的分隔符替换为NULL。
下面是一个使用`strtok`函数实现字符串分割的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,World,How,Are,You";
const char delim[] = ",";
char *token = strtok(str, delim);
while (token != NULL) {
printf("%s\n", token);
token = strtok(NULL, delim);
}
return 0;
}
```
运行上述代码,输出结果为:
```
Hello
World
How
Are
You
```
注意事项:
- `strtok`函数会修改原字符串,将分隔符替换为NULL。如果不希望修改原字符串,可以先将原字符串拷贝到一个临时变量中再进行分割。
- 在多线程环境下,`strtok`函数是不可重入的,可以使用`strtok_r`函数来实现线程安全的字符串分割。
阅读全文