首頁 >後端開發 >C++ >strtok_r()函數是C語言中的一個函數,它的作用是將字串分割成一系列子字串

strtok_r()函數是C語言中的一個函數,它的作用是將字串分割成一系列子字串

王林
王林轉載
2023-08-26 09:45:112147瀏覽

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刪除
上一篇:暴風雨數字下一篇:暴風雨數字