首页 >后端开发 >C++ >strtok()函数在C语言中是什么?

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

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

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

strtok()函数是头文件的一部分#include

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:</p><p>");
   for (int i=0; i < num_tokens; i++) {
      printf("%s</p><p>", token_list[i]);
   }
   return 0;
}

输出

当上述程序被执行时,它产生以下结果 −

Token List:
Hello
Tutorials
Point!

输入字符串为 “Hello Tutorials Point”,我们尝试按空格进行分词。

我们通过使用strtok(input, " ")来获取第一个标记。这里双引号是分隔符,是一个单个字符的字符串!

之后,我们通过使用strtok(NULL, " ")来继续获取标记,并循环直到从strtok()获取到NULL为止。

以上是strtok()函数在C语言中是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

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