মডিউল ১০-৫: স্ট্রিং এর লেন্থ
আজকে আমরা একটি স্ট্রিং ইনপুট নিয়ে তার লেন্থ বের করব।
লেন্থ ক্যালকুলেট করার জন্য আমরা একটি কাউন্ট ভেরিয়েবল নিয়ে তাতে শুরুতে ০ রেখে দিতে পারি। এরপর লুপ চালিয়ে স্ট্রিং এর শুরু থেকে শেষ পর্যন্ত যেয়ে প্রতিবার কাউন্ট এর মান ১ বাড়িয়ে দিতে পারি। এক্ষেত্রে স্ট্রিং এর শেষ মানে হচ্ছে যতক্ষন না আমরা নাল কযারেক্টার ('\০') পাচ্ছি। তারপর লুপ শেষে কাউন্ট এর মান প্রিন্ট করলেই আমরা আমাদের লেন্থ পেয়ে যাব।
#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