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

C भाषा में strtok () फ़ंक्शन क्या है?

strtok() फ़ंक्शन हेडर फ़ाइल का एक हिस्सा है #include

स्ट्रेटोक () फ़ंक्शन का सिंटैक्स इस प्रकार है -

char* strtok(char* string, const char* limiter);

इनपुट स्ट्रिंग स्ट्रिंग और एक सीमांकक वर्ण सीमक। strtok() सीमांकित वर्ण के आधार पर स्ट्रिंग को टोकन में विभाजित करेगा।

हम strtok() से स्ट्रिंग्स की सूची की अपेक्षा कर सकते हैं। लेकिन, फ़ंक्शन एक स्ट्रिंग देता है क्योंकि strtok (इनपुट, लिमिटर) को कॉल करने के बाद, यह पहला टोकन लौटाएगा।

लेकिन हमें NULL इनपुट स्ट्रिंग पर फ़ंक्शन को बार-बार कॉल करना पड़ता है, जब तक कि हमें NULL नहीं मिल जाता है! आम तौर पर, हम strtok (NULL, delim) को तब तक कॉल करते रहते हैं जब तक कि यह NULL नहीं लौटता।

उदाहरण

strtok() फ़ंक्शन के लिए C प्रोग्राम निम्नलिखित है:-

#include <stdio.h>
#include <string.h>
int main() {
   char input_string[] = "Hello Tutorials Point!";
   char token_list[20][20];
   char* token = strtok(input_string, " ");
   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(NULL, " "); // Get the next token. Notice that input=NULL now!
   }
   // 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!

इनपुट स्ट्रिंग "हैलो ट्यूटोरियल पॉइंट" है, और हम इसे रिक्त स्थान द्वारा टोकन करने का प्रयास कर रहे हैं।

हम strtok (इनपुट, " ") का उपयोग करके पहला टोकन प्राप्त करते हैं। यहां डबल कोट्स डिलीमीटर हैं और सिंगल कैरेक्टर स्ट्रिंग हैं!

बाद में, हम strtok(NULL, " ") और लूप का उपयोग करके टोकन प्राप्त करते रहते हैं जब तक कि हमें strtok() से NULL नहीं मिल जाता।


  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 वर्णों की स