strtok() ফাংশন <string.h> হেডারের অংশ। এটি একটি স্ট্রিংকে নির্দিষ্ট ডিলিমিটার দিয়ে টোকেনে ভাগ করে।
সিনট্যাক্স
char* strtok(char* string, const char* limiter);
কैसे কাজ করে
- প্রথম কল:
strtok(input, delim)— প্রথম টোকেন রিটার্ন করে। - পরবর্তী কলগুলো:
strtok(NULL, delim)— পরবর্তী টোকেন রিটার্ন করে। - যখন
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()ব্যবহার করুন।