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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
JavaScript
PHP