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+ 瀏覽量

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告