C语言中的strtok_r()函数是什么?


C语言中的strtok_r()函数

strtok_r()函数类似于strtok()函数。唯一的主要区别是_r,称为可重入函数。

可重入函数是在执行过程中可以被中断的函数。此类型的函数可用于恢复执行。

因此,可重入函数是线程安全的,这意味着它们可以被线程安全地中断,而不会造成任何危害。

strtok_r()函数有一个额外的参数称为上下文。以便函数可以从正确的位置恢复。

语法

strtok_r()函数的语法如下

// header file to be included
#include <string.h>

// Function prototype
char *strtok_r(char *string, const char *limiter, char **context);

strtok_r()函数示例

以下是strtok_r()函数使用说明的C语言程序−

#include <stdio.h>
#include <string.h>

int main() {
   char input_string[] = "Hello Tutorials Point";
   char token_list[20][20];
   char * context = NULL;
   char * token = strtok_r(input_string, " ", & context);
   // Index to token list. We will append to the list
   int num_tokens = 0; 
   
   while (token != NULL) {
      strcpy(token_list[num_tokens], token); // Copy to token list
      num_tokens++;
      token = strtok_r(NULL, " ", & context);
   }
   
   // 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

更新于:2024年6月25日

4K+ 浏览量

开启你的 职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.