strtok()函数是头文件的一部分#include
strtok()函数的语法如下所示−
char* strtok(char* string, const char* limiter);
登录后复制
输入一个字符串和一个分隔符字符限制器。strtok()将根据分隔字符将字符串分割成标记。
我们可以期望从strtok()获得一个字符串列表。但是,该函数返回一个单独的字符串,因为在调用strtok(input, limiter)后,它将返回第一个标记。
但是我们必须一次又一次地在一个空的输入字符串上调用该函数,直到我们得到NULL为止!
通常情况下,我们会继续调用strtok(NULL, delim)直到它返回NULL。
示例
以下是C程序的strtok()函数示例:
在线演示
#include
#include
int main() {
char input_string[] = "Hello Tutorials Point!";
char token_list[20][20];
char* token = strtok(input_string, " ");
int num_tokens = 0; // Index to token list. We will append to the list
while (token != NULL) {
strcpy(token_list[num_tokens], token); // Copy to token list
num_tokens++;
token = strtok(NULL, " "); // Get the next token. Notice that input=NULL now!
}
// Print the list of tokens
printf("Token List:
");
for (int i=0; i < num_tokens; i++) {
printf("%s
", token_list[i]);
}
return 0;
}
登录后复制
输出
当上述程序被执行时,它产生以下结果 −
Token List:
Hello
Tutorials
Point!
登录后复制
输入字符串为 “Hello Tutorials Point”,我们尝试按空格进行分词。
我们通过使用strtok(input, " ")来获取第一个标记。这里双引号是分隔符,是一个单个字符的字符串!
之后,我们通过使用strtok(NULL, " ")来继续获取标记,并循环直到从strtok()获取到NULL为止。
以上就是strtok()函数在C语言中是什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!