Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

सी भाषा में strtok_r () फ़ंक्शन क्या है?

यह फ़ंक्शन 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

  1. सी भाषा में strncpy () फ़ंक्शन क्या है?

    C लाइब्रेरी फ़ंक्शन char *strncpy(char *dest, const char *src, size_t n) src . द्वारा इंगित की गई स्ट्रिंग से n वर्णों तक कॉपी करता है करने के लिए गंतव्य . ऐसे मामले में जहां, src की लंबाई n से कम है, शेष भाग को शून्य बाइट्स के साथ गद्देदार किया जाएगा। वर्णों की एक सरणी को स्ट्रिंग कहा जाता है। घोष

  1. सी भाषा में strcmp () फ़ंक्शन क्या है?

    सी लाइब्रेरी फ़ंक्शन int strcmp(const char *str1, const char *str2) str1 . द्वारा इंगित स्ट्रिंग की तुलना करता है str2 . द्वारा इंगित स्ट्रिंग की ओर । वर्णों की एक सरणी को स्ट्रिंग कहा जाता है। घोषणा एक सरणी के लिए घोषणा निम्नलिखित है - char stringname [size]; उदाहरण के लिए - चार स्ट्रिंग [50]; ल

  1. सी भाषा में strcpy () फ़ंक्शन क्या है?

    सी लाइब्रेरी फ़ंक्शन char *strcpy(char *dest, const char *src) src . द्वारा इंगित स्ट्रिंग की प्रतिलिपि बनाता है करने के लिए गंतव्य । वर्णों की एक सरणी को स्ट्रिंग कहा जाता है। घोषणा एक सरणी के लिए घोषणा निम्नलिखित है char stringname [size]; उदाहरण के लिए - चार स्ट्रिंग [50]; लंबाई 50 वर्णों की स