首頁 > 後端開發 > C++ > 主體

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

王林
發布: 2023-08-26 09:45:11
轉載
2108 人瀏覽過

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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板