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
廣告