ধরুন আমাদের একটি স্ট্রিং s আছে যেখানে কয়েকটি শব্দ সহ একটি বাক্য রয়েছে। আমাদের প্রতিটি শব্দকে নতুন লাইনে প্রিন্ট করতে হবে। এটি করার জন্য আমরা string.h হেডার ফাইলের অধীনে strtok() ফাংশন ব্যবহার করতে পারি। এই ফাংশনটি স্ট্রিং এবং একটি ডেলিমিটার নেয়। এখানে ডিলিমিটার হল ফাঁকা স্থান " "।
সুতরাং, ইনপুট যদি s ="আসুন কিছু স্ট্রিং টোকেনাইজিং মজা দেখি" এর মত হয়, তাহলে আউটপুট হবে
Let us see some string tokenizing fun
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
টোকেন :=এখানে strtok(s, " ") ব্যবহার করে প্রথম শব্দ হল " "
-
যখন টোকেন অ-শূন্য হয়, তখন করুন:
-
প্রদর্শন টোকেন
-
টোকেন :=s এর পরের টোকেন, এখন থেকে স্ট্রটকের প্রথম আর্গুমেন্ট হিসাবে একই ডিলিমিটার স্পেস " " সহ NULL পাস করুন।
-
উদাহরণ
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
#include <stdio.h> #include <string.h> int main(){ char s[] = "Let us see some string tokenizing fun"; char* token = strtok(s, " "); while (token) { printf("%s\n", token); token = strtok(NULL, " "); } }
ইনপুট
Let us see some string tokenizing fun
আউটপুট
Let us see some string tokenizing fun