strtok()函数在C语言中是什么?

王林
王林 转载
2023-08-28 23:29:06 999浏览

strtok()函数在C语言中是什么?

strtok()函数是<string.h>头文件的一部分#include <string.h>

strtok()函数的语法如下所示−

char* strtok(char* string, const char* limiter);

输入一个字符串和一个分隔符字符限制器。strtok()将根据分隔字符将字符串分割成标记。

我们可以期望从strtok()获得一个字符串列表。但是,该函数返回一个单独的字符串,因为在调用strtok(input, limiter)后,它将返回第一个标记。

但是我们必须一次又一次地在一个空的输入字符串上调用该函数,直到我们得到NULL为止!

通常情况下,我们会继续调用strtok(NULL, delim)直到它返回NULL。

示例

以下是C程序的strtok()函数示例:

在线演示

#include <stdio.h>
#include <string.h>
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语言中是什么?的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除