মডিউল ১০-৫: স্ট্রিং এর লেন্থ

আজকে আমরা একটি স্ট্রিং ইনপুট নিয়ে তার লেন্থ বের করব।

লেন্থ ক্যালকুলেট করার জন্য আমরা একটি কাউন্ট ভেরিয়েবল নিয়ে তাতে শুরুতে ০ রেখে দিতে পারি। এরপর লুপ চালিয়ে স্ট্রিং এর শুরু থেকে শেষ পর্যন্ত যেয়ে প্রতিবার কাউন্ট এর মান ১ বাড়িয়ে দিতে পারি। এক্ষেত্রে স্ট্রিং এর শেষ মানে হচ্ছে যতক্ষন না আমরা নাল কযারেক্টার ('\০') পাচ্ছি। তারপর লুপ শেষে কাউন্ট এর মান প্রিন্ট করলেই আমরা আমাদের লেন্থ পেয়ে যাব।

#include<stdio.h>
#include<string.h>
int main()
{
    char a[100];
    scanf("%s",a);    // স্ট্রিং ইনপুট নিচ্ছি
    int count = 0;    // কাউন্ট করার জন্য একটি ভেরিয়েবল নিয়ে তাতে ইনিশিয়ালি ০ রেখে দেওয়া হচ্ছে
    for(int i=0;a[i]!='\0';i++)  // স্ট্রিং এর শুরু থেকে শেষ পর্যন্ত লুপ চালানো হচ্ছে।
    {
        count++;   // প্রতিবার কাউন্ট এর মান ১ করে বাড়ানো হচ্ছে। 
    }
    printf("%d\n",count);
    return 0;
}

এই কোডটি রান করে কোন স্ট্রিং ইনপুট দিলে আউটপুট হিসেবে সেটির লেন্থ চলে আসবে।

সি প্রোগ্রামিং এ কোন স্ট্রিং এর লেন্থ বের করার জন্য বিল্ট-ইন ফাংশন আছে। ওই বিল্ট-ইন ফাংশন ব্যাবহার করে আমরা ১ লাইনেই যেকোন স্ট্রিং এর লেন্থ বের করে ফেলতে পারি। ফাংশনের নাম strlen()। এই ফাংশনের মধ্যে কোন স্ট্রিং এর নাম দিয়ে দিলে ফাংশনটি ঐ স্ট্রিং এর লেন্থ বের করে দিবে।

#include<stdio.h>
#include<string.h>     // স্ট্রিং ফাংশন নিয়ে কাজ করা হচ্ছে তাই এই হেডার ফাইলটি ইনক্লুড করা হচ্ছে।
int main()
{
    char a[100];
    scanf("%s",a);   // স্ট্রিং ইনপুট নিচ্ছি। 
    int length = strlen(a);   // ফাংশনের মধ্যে আমাদের ইনপুট নেওয়া স্ট্রিংকে দিয়ে দিচ্ছি। 
    printf("%d\n",length);    // লেন্থ প্রিন্ট করছি।
    return 0;
}

আমরা এভাবে বিল্ট-ইন ফাংশন ব্যাবহার করে যেকোন স্ট্রিং এর লেন্থ বের করতে পারি। তার আগে আমরা বিল্ট-ইন ফাংশন ব্যাবহার না করে দেখলাম যে আসলে এই বিল্ট-ইন ফাংশন কিভাবে কাজ করে। এখন আমরা কাজ বুঝে গিয়েছি। এখন আমরা বিল্ট-ইন ফাংশন ব্যাবহার করেই করতে পারব।

Last updated