이 함수는 strtok() 함수와 유사합니다. 유일한 주요 차이점은 재진입 함수라고 불리는 _r입니다.
재진입 함수는 실행 중에 중단될 수 있는 함수입니다. 이 유형의 함수를 사용하여 실행을 재개할 수 있습니다.
따라서 재진입 함수는 스레드로부터 안전합니다. 즉, 손상을 일으키지 않고 스레드에 의해 안전하게 중단될 수 있습니다.
strtok_r() 함수에는 context라는 추가 매개변수가 있습니다. 이렇게 하면 기능을 올바른 위치에 복원할 수 있습니다.
strtok_r() 함수의 구문은 다음과 같습니다.
#include <string.h> char *strtok_r(char *string, const char *limiter, char **context);
다음은 strtok_r() 함수-
라이브 데모
#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; }
를 사용한 C 프로그램입니다. 프로그램이 실행되면 다음과 같은 결과가 생성됩니다. Result-
Token List: Hello Tutorials Point
위 내용은 strtok_r() 함수는 C 언어의 함수로 문자열을 일련의 하위 문자열로 분할하는 것입니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!