কম্পিউটার টিউটোরিয়াল

সি ভাষায় strtok() ফাংশন কী?

strtok() ফাংশন <string.h> হেডারের অংশ। এটি একটি স্ট্রিংকে নির্দিষ্ট ডিলিমিটার দিয়ে টোকেনে ভাগ করে।

সিনট্যাক্স

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

কैसे কাজ করে

  1. প্রথম কল: strtok(input, delim) — প্রথম টোকেন রিটার্ন করে।
  2. পরবর্তী কলগুলো: strtok(NULL, delim) — পরবর্তী টোকেন রিটার্ন করে।
  3. যখন NULL রিটার্ন করে, টোকেনাইজেশন শেষ।

উদাহরণ

#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);
        token = strtok(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!

মहত্বপূর্ণ নোট

  • মূল স্ট্রিং মডিফাই হয় (ডিলিমিটার জায়গায় NULL ক্যারেক্টার বসায়)।
  • থ্রেড-সেফ নয়; মাল্টি-থ্রেডেড প্রোগ্রামে strtok_r() ব্যবহার করুন।
  1. C ভাষায় strncpy() ফাংশন কী?

  2. C ভাষায় strcmp() ফাংশন কী?

  3. C ভাষায় strcat() ফাংশন কী?

  4. C ভাষায় strcpy() ফাংশন কী?