首页 > 后端开发 > C++ > strtok_r()函数是C语言中的一个函数,它的作用是将字符串分割成一系列子字符串

strtok_r()函数是C语言中的一个函数,它的作用是将字符串分割成一系列子字符串

王林
发布: 2023-08-26 09:45:11
转载
2119 人浏览过

strtok_r()函数是C语言中的一个函数,它的作用是将字符串分割成一系列子字符串

该函数与strtok()函数类似。唯一的关键区别是_r,它被称为可重入函数。

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

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

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

strtok_r() 函数的语法如下:

#include <string.h>
char *strtok_r(char *string, const char *limiter, char **context);
登录后复制

示例

以下是使用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);
   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_r(NULL, " ", &context);
   }
   // 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
登录后复制

以上是strtok_r()函数是C语言中的一个函数,它的作用是将字符串分割成一系列子字符串的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板