यह फ़ंक्शन 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:\n");
for (int i=0; i < num_tokens; i++) {
printf("%s\n", token_list[i]);
}
return 0;
} आउटपुट
जब उपरोक्त प्रोग्राम को निष्पादित किया जाता है, तो यह निम्नलिखित परिणाम उत्पन्न करता है -
Token List: Hello Tutorials Point