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

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


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

strtok() फंक्शन का सिंटैक्स निम्नानुसार है:

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

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

हम strtok() से स्ट्रिंग्स की एक सूची की उम्मीद कर सकते हैं। लेकिन, फंक्शन एक सिंगल स्ट्रिंग वापस करता है क्योंकि strtok(input, limiter) को कॉल करने के बाद, यह पहला टोकन वापस करेगा।

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

उदाहरण

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

#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; // टोकन लिस्ट का इंडेक्स। हम लिस्ट में जोड़ेंगे    while (token != NULL) {       strcpy(token_list[num_tokens], token); // टोकन लिस्ट में कॉपी करें       num_tokens++;       token = strtok(NULL, " "); // अगला टोकन प्राप्त करें। ध्यान दें कि अब इनपुट=NULL है!    }    // टोकन की लिस्ट प्रिंट करें    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!

इनपुट स्ट्रिंग "Hello Tutorials Point" है, और हम इसे स्पेस द्वारा टोकनाइज़ करने का प्रयास कर रहे हैं।

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

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


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

    C लाइब्रेरी फंक्शन char *strncpy(char *dest, const char *src, size_t n) स्रोत स्ट्रिंग (src) से गंतव्य स्ट्रिंग (dest) में n कैरेक्टर्स तक कॉपी करता है। यदि src की लंबाई n से कम है, तो dest का शेष भाग नल बाइट्स से भरा जाता है। घोषणा char stringname [size]; आरंभीकरण सिंगल कैरेक्टर: char string[10]

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

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

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

    C लाइब्रेरी फंक्शन char *strcpy(char *dest, const char *src) src द्वारा इंगित स्ट्रिंग को dest में कॉपी करता है। कैरेक्टर्स का ऐरे स्ट्रिंग कहलाता है। घोषणा ऐरे के लिए घोषणा निम्नलिखित है: char stringname[size]; उदाहरण: char string[50]; 50 कैरेक्टर्स लंबाई की स्ट्रिंग आरंभीकरण सिंगल कैरेक्टर कॉ