C – Strings . সি প্রোগ্রামিং এ স্ট্রিং

C - Strings
মোঃ আব্দুল্লাহ
সি প্রোগ্রামিং এ স্ট্রিং হল মুলত এক ডাইমেনশনের array যা কিনা শেষ হয় '\0' বা null character দিয়ে ।
নিম্নের বিবৃতি এবং উদ্ধৃতিটি এমন একটি স্ট্রিং তৈরী করে যা "Hello" স্ট্রিংটি ধারণ করে। array র শেষে null character কে ধারণ করার জন্য array র ধারণক্রিত পদের স্ট্রিং একের মত বড় যেন তা "Hello." স্ট্রিংটি ধারণ করতে পারে।
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};

তুমি যদি array শুরু করার নিয়ম অনুসরণ করতে চাও তবে তুমি উপরের বিবৃতিটি নিম্নরুপে লিখতে পার।
char greeting[] = "Hello";
উপরের স্ট্রিংটি মেমোরিরে কিভাবে থাকবে তার জন্য নীচের ছবিটি দেখতে পারোঃ

বস্তুত তুমি স্ট্রিং কন্সটান্টের শেষে null characte টিকে স্থাপন কর না। সি কম্পাইলর নিজে থেকে '\0' কে স্ট্রিং এর শেষে স্থাপন করে যখন এটি array initialize করে। চলো উপরের স্ট্রিং কে প্রিন্ট করিঃ
#include <stdio.h>
int main ()
{
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
printf("Greeting message: %s\n", greeting );
return 0;
}

যখন উপরের কোডটি কম্পাইল করে রান করা হয় তখন এটি নিম্নোক্ত ফলাফল দেয়ঃ
Greeting message: Hello

সি স্ট্রিং এর জন্য অনেক ফাংসন এর অবলম্বন করে থাকে । নিম্নে তার একটি তালিকা দেওয়া হলঃ
S.N. Function & Purpose
1 strcpy(s1, s2);
স্ট্রিং s2 কে s1 এ কপি করে।
2 strcat(s1, s2);
স্ট্রিং s1 এর শেষে স্ট্রিং s2 কে যুক্ত করে।
3 strlen(s1);
স্ট্রিং s1 এর দৈর্ঘ্য ফেরত পাঠায় ।
4 strcmp(s1, s2);
যদি s1 এবং s2 সমান হয় তবে 0; যদি s1s2 হলে 0 থেকে বেশি ফেরত দেয়।
5 strchr(s1, ch);
ch এর পয়েন্টার ফেরত পাঠায় যখন ch প্রথম স্ট্রিং s1 এ দেখা যায় ।
6 strstr(s1, s2);
স্ট্রিং s1 এর মধ্যে স্ট্রিং s2 প্রথম দেখা যায় তার পয়েন্টেরকে ফেরত দেয়।
নিম্নের উদাহরণটি উপরে দেখানো কিছু ফাংসনের ব্যবহার দেখায়ঃ
#include <stdio.h>
#include <string.h>

int main ()
{
char str1[12] = "Hello";
char str2[12] = "World";
char str3[12];
int len ;

/* copy str1 into str3 */
strcpy(str3, str1);
printf("strcpy( str3, str1) : %s\n", str3 );

/* concatenates str1 and str2 */
strcat( str1, str2);
printf("strcat( str1, str2): %s\n", str1 );

/* total lenghth of str1 after concatenation */
len = strlen(str1);
printf("strlen(str1) : %d\n", len );
return 0;
}

যখন উপরের কোডটি কম্পাইল করে এবং রান করা হয়, এটি নিম্নোক্ত ফলাফল দেয়ঃ
strcpy( str3, str1) : Hello
strcat( str1, str2): HelloWorld
strlen(str1) : 10