strtok使用
时间: 2023-07-08 09:11:31 浏览: 102
strtok是一个C标准库函数,用于将一个字符串按照指定的分隔符进行分割,返回分割后的第一个子串指针,并将原字符串修改为剩下的未被分割的部分。
函数签名如下:
```c
char *strtok(char *str, const char *delim);
```
其中str是需要分割的字符串,delim是分隔符。使用方法如下:
```c
#include <string.h>
int main()
{
char str[] = "hello world, this is strtok example.";
char *ptr = strtok(str, " ,.");
while(ptr != NULL)
{
printf("%s\n", ptr);
ptr = strtok(NULL, " ,.");
}
return 0;
}
```
输出结果为:
```
hello
world
this
is
strtok
example
```
在第一次调用时,strtok会将分隔符之前的部分作为子串返回,并将分隔符之后的部分保存到静态变量中。以后每次调用时,将传入NULL作为第一个参数,表示继续使用之前保存的静态变量进行分割。直到无法分割为止,返回NULL。需要注意的是,strtok修改了原字符串,因此在使用前需要备份原字符串。
相关问题
strtok使用例子
strtok函数通常用于分割以及重组被特殊字符间隔的字符串。下面是一个strtok的使用例子:
```
#include <stdio.h>
#include <string.h>
int main () {
char str[80] = "This is a string, with commas.";
const char s[2] = ",";
char *token;
// 获取第一个子字符串
token = strtok(str, s);
// 继续获取其他的子字符串
while( token != NULL ) {
printf( "%s\n", token );
token = strtok(NULL, s);
}
return 0;
}
```
上述代码将字符串"This is a string, with commas."按照逗号进行分割,并输出每个子字符串。
strtok使用方法
strtok函数是C语言中用于字符串分割的函数,它可以将一个字符串按照指定的分隔符进行分割,并返回分割后的子字符串。
使用方法如下:
1. 引入头文件:`#include <string.h>`
2. 函数原型:`char *strtok(char *str, const char *delim);`
- 参数str是要分割的字符串,第一次调用时传入待分割的字符串,后续调用传入NULL。
- 参数delim是分隔符,可以是一个字符串,也可以是多个字符组成的字符串。
3. 第一次调用strtok函数时,传入待分割的字符串,并保存返回的指针。
4. 后续调用strtok函数时,传入NULL作为第一个参数,继续分割字符串,直到返回NULL为止。
5. 每次调用strtok函数返回的指针指向一个分割后的子字符串,可以通过字符串操作函数对其进行处理。
注意事项:
- strtok函数会修改原始字符串,将分隔符替换为'\0',所以在使用分割后的子字符串时要注意。
- 在多线程环境下使用strtok函数可能会导致数据竞争,可以考虑使用strtok_r函数来避免这个问题。
阅读全文