🎯 এই পর্বে যা জানবে:
- স্ট্রিং কী এবং কিভাবে কাজ করে
- স্ট্রিং লাইব্রেরি
<string.h>এর ফাংশনসমূহ - স্ট্রিং কপি, তুলনা, যুক্ত করা ও দৈর্ঘ্য নির্ণয়
- উদাহরণসহ ব্যাখ্যা
- সাধারণ ভুল ও টিপস
🧩 স্ট্রিং কী?
স্ট্রিং হলো একাধিক অক্ষরের একটি অ্যারে যা শেষে null character (‘\0’) দিয়ে শেষ হয়।
C ভাষায় কোনো আলাদা “string data type” নেই; বরং character array দিয়েই স্ট্রিং তৈরি করা হয়।
char name[] = "C Programming";এখানে name একটি স্ট্রিং যার শেষে স্বয়ংক্রিয়ভাবে \0 যুক্ত হয়েছে।
📚 <string.h> হেডার ফাইল
C-তে স্ট্রিং নিয়ে কাজ করার জন্য একটি বিল্ট-ইন লাইব্রেরি আছে —
👉 <string.h>
এই হেডার ফাইলে রয়েছে নানা দরকারি ফাংশন যেমন:
strlen()strcpy()strcat()strcmp()strrev()strupr(),strlwr()(কিছু কম্পাইলারে সাপোর্টেড)
🧮 strlen() — স্ট্রিংয়ের দৈর্ঘ্য বের করা
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "Bangladesh";
int len = strlen(str);
printf("স্ট্রিংটির দৈর্ঘ্য: %d\n", len);
return 0;
}আউটপুট:
স্ট্রিংটির দৈর্ঘ্য: 10strlen() শুধুমাত্র অক্ষরের সংখ্যা গোনে, \0 বাদ দেয়।
✂️ strcpy() — এক স্ট্রিং থেকে আরেক স্ট্রিংয়ে কপি
#include <stdio.h>
#include <string.h>
int main() {
char source[] = "Hello C";
char dest[20];
strcpy(dest, source);
printf("কপি করা স্ট্রিং: %s\n", dest);
return 0;
}আউটপুট:
কপি করা স্ট্রিং: Hello C➕ strcat() — দুটি স্ট্রিং যোগ করা
#include <stdio.h>
#include <string.h>
int main() {
char first[20] = "C ";
char second[] = "Language";
strcat(first, second);
printf("ফাইনাল স্ট্রিং: %s\n", first);
return 0;
}আউটপুট:
ফাইনাল স্ট্রিং: C Language⚖️ strcmp() — দুটি স্ট্রিং তুলনা করা
#include <stdio.h>
#include <string.h>
int main() {
char s1[] = "apple";
char s2[] = "banana";
int result = strcmp(s1, s2);
if (result == 0)
printf("দুটি স্ট্রিং সমান\n");
else if (result < 0)
printf("s1 ছোট s2 এর থেকে\n");
else
printf("s1 বড় s2 এর থেকে\n");
return 0;
}আউটপুট:
s1 ছোট s2 এর থেকে🔁 strrev() — স্ট্রিং উল্টো করা (Reverse)
#include <stdio.h>
#include <string.h>
int main() {
char str[] = "C Language";
strrev(str);
printf("উল্টো স্ট্রিং: %s\n", str);
return 0;
}আউটপুট:
উল্টো স্ট্রিং: egaugnaL C🔤 strupr() এবং strlwr() — কেস পরিবর্তন
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "hello world";
char str2[] = "GOOD MORNING";
strupr(str1);
strlwr(str2);
printf("বড় হাতের অক্ষর: %s\n", str1);
printf("ছোট হাতের অক্ষর: %s\n", str2);
return 0;
}আউটপুট:
বড় হাতের অক্ষর: HELLO WORLD
ছোট হাতের অক্ষর: good morning(দ্রষ্টব্য: কিছু কম্পাইলারে strupr() এবং strlwr() ডিফল্টভাবে সাপোর্ট নাও করতে পারে।)
⚡ সাধারণ ভুল ও টিপস
❌ স্ট্রিং কপি করার সময় অ্যারের আকার ছোট রাখলে “buffer overflow” হতে পারে।
✅ সবসময় যথেষ্ট বড় অ্যারে ব্যবহার করো।
✅ ইনপুট নেওয়ার সময় gets() না ব্যবহার করে fgets() ব্যবহার করা নিরাপদ।
✅ <string.h> সব স্ট্রিং ফাংশনের জন্য প্রয়োজনীয়।
🧾 সংক্ষেপে
- স্ট্রিং হলো character array যার শেষে
\0থাকে। <string.h>হেডার ফাইলে বিভিন্ন স্ট্রিং ফাংশন আছে।strlen,strcpy,strcat,strcmpসবচেয়ে ব্যবহৃত ফাংশন।- সঠিক অ্যারে সাইজ ব্যবহার না করলে প্রোগ্রাম ক্র্যাশ করতে পারে।



