为什么strtok返回NULL?
时间: 2023-11-25 19:16:22 浏览: 35
strtok 函数会在给定的字符串中搜索特定的字符,并将字符串切割成多个部分。当它在给定字符串中找不到搜索的字符时,它会返回一个指向 NULL 的指针。因此,如果 strtok 返回 NULL,则说明它在给定的字符串中没有找到搜索的字符。可能的原因是搜索字符在字符串中不存在,或者传递给函数的参数不正确。
相关问题
strtok(null,)
调用 `strtok(null, )` 会导致编译错误,因为第二个参数不能为空指针。正确的用法是将第一个参数设置为要分割的字符串,第二个参数设置为分割字符串的分隔符。例如,`strtok("hello,world", ",")` 将返回 `hello`,然后再调用一次 `strtok(null, ",")` 将返回 `world`。
strtok函数返回
strtok函数返回被分割的字符串中的下一个标记(token)。在每次调用strtok函数时,它会返回被分割字符串中的下一个标记,直到没有更多的标记为止。每次调用strtok函数时,需要传入两个参数:第一个参数是被分割的字符串,第二个参数是用来分割字符串的分隔符。在第一次调用strtok函数时,需要将被分割的字符串作为第一个参数传入,之后的调用需要将第一个参数设置为NULL。每次调用strtok函数时,它会返回被分割字符串中的下一个标记,直到没有更多的标记为止。
以下是一个使用strtok函数的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char arr1[] = "Hello@.Worl@d";
const char arr2[] = "@.";
char* str;
for (str = strtok(arr1, arr2); str != NULL; str = strtok(NULL, arr2)) {
printf("%s ", str);
}
return 0;
}
```
输出结果为:
```
Hello Worl d
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)