📅  最后修改于: 2023-12-03 15:07:08.781000             🧑  作者: Mango
在 C 语言中,函数 strtok_r
用于将字符串分割成几个部分(子串)。
在某些编译环境中,该函数不需要显式地声明即可使用,这就是隐式声明。
以下是一个使用 strtok_r
函数的示例:
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Hello,World,C,Programming";
char *token, *rest;
token = strtok_r(str, ",", &rest);
while (token != NULL) {
printf("%s\n", token);
token = strtok_r(NULL, ",", &rest);
}
return 0;
}
其中,strtok_r
函数的原型如下:
char *strtok_r(char *str, const char *delim, char **saveptr);
参数解释:
str
:要进行分割的字符串,第一次调用时传入,后续调用不需要传入delim
:分割字符串的分隔符saveptr
:指针,用于保存分割状态。第一次调用时传入 NULL,后续调用需要传入不为 NULL 的值。返回值:
因此,上述代码输出为:
Hello
World
C
Programming
需要注意的是,在使用隐式声明时,需要确保编译器能够正确理解函数的原型,否则可能会遇到编译错误或运行时错误。建议在使用 strtok_r
函数时显式声明其原型,以确保代码的正确性。