কম্পিউটার টিউটোরিয়াল

সি ভাষায় স্ট্রিং লাইব্রেরি ফাংশনসমূহ উদাহরণসহ ব্যাখ্যা

string.h হেডার ফাইলের স্ট্রিং ফাংশনগুলো

স্ট্রিং হ্যান্ডলিংয়ের জন্য প্রিডিফাইনড ফাংশনগুলো string.h-এ থাকে।

ফাংশনকাজ
strlen()স্ট্রিংয়ের দৈর্ঘ্য (নাল ক্যারেক্টার বাদে)
strcpy()সোর্স স্ট্রিং কপি করে ডেস্টিনেশনে
strncpy()সোর্স থেকে n ক্যারেক্টার কপি করে
strcat()দুটি স্ট্রিং কনক্যাটেনেট (যোগ) করে
strncat()সোর্স থেকে n ক্যারেক্টার কনক্যাটেনেট করে
strcmp()দুটি স্ট্রিং লেক্সিকোগ্রাফিক্যালি তুলনা করে
strncmp()প্রথম n ক্যারেক্টার তুলনা করে
strrev()স্ট্রিং রিভার্স করে (নন-স্ট্যান্ডার্ড)
strstr()সাবস্ট্রিং সার্চ করে

প্রতিটি ফাংশনের সিনট্যাক্স ও উদাহরণ

strlen()

size_t strlen(const char *str);
char s[] = "Hello";
printf("%zu", strlen(s)); // 5

strcpy()

char *strcpy(char *dest, const char *src);
char src[] = "Hello";
char dest[20];
strcpy(dest, src); // dest = "Hello"

সতর্কতা: ডেস্টিনেশন বাফার যথেষ্ট বড় হতে হবে, অন্যথায় বাফার ওভারফ্লো হবে।

strncpy()

char *strncpy(char *dest, const char *src, size_t n);
char src[] = "Hello World";
char dest[10];
strncpy(dest, src, 5);
dest[5] = '\0'; // ম্যানুয়ালি নাল টার্মিনেট
// dest = "Hello"

strcat()

char *strcat(char *dest, const char *src);
char a[50] = "Hello";
char b[] = " World";
strcat(a, b); // a = "Hello World"

strncat()

char *strncat(char *dest, const char *src, size_t n);
char a[20] = "Hello";
strncat(a, " World", 3); // a = "Hello Wo"
a[9] = '\0';

strcmp()

int strcmp(const char *s1, const char *s2);
  • রিটার্ন 0 → স্ট্রিং দুটি সমান।
  • রিটার্ন < 0 → s1, s2-এর চেয়ে ছোট (অক্ষরিক ক্রমে)।
  • রিটার্ন > 0 → s1, s2-এর চেয়ে বড়।
strcmp("apple", "ball") // negative (apple < ball)

strncmp()

int strncmp(const char *s1, const char *s2, size_t n);

প্রথম n ক্যারেক্টার তুলনা করে।

strrev() (নন-স্ট্যান্ডার্ড)

char *strrev(char *str);

স্ট্রিং ইন-প্লেস রিভার্স করে।

strstr()

char *strstr(const char *haystack, const char *needle);

needle যদি haystack-এ পাওয়া যায়, তবে প্রথম وقوعের পয়েন্টার রিটার্ন করে, নাহলে NULL।

char *p = strstr("hello world", "world");
if (p) printf("Found at index %ld", p - "hello world");

সারসংক্ষেপ টিপস

  • সবসময় বাফার সাইজ চেক করুন (strncpy, strncat, snprintf ব্যবহার করুন)।
  • strcmp == 0 মানে সমান — এই ভুলে যাবেন না।
  • strstr কেস-সেনসিটিভ; কেস-ইনসেনসিটিভের জন্য strcasestr (POSIX) বা কাস্টম লজিক ব্যবহার করুন।
  1. জাভাস্ক্রিপ্টে কনস্ট্যান্ট তৈরির পদ্ধতি? উদাহরণসহ ব্যাখ্যা

  2. জাভাস্ক্রিপ্ট রেগুলার এক্সপ্রেশন মডিফায়ার উদাহরণসহ ব্যাখ্যা

  3. জাভাস্ক্রিপ্টে finally স্টেটমেন্ট উদাহরণসহ ব্যাখ্যা

  4. জাভাস্ক্রিপ্টে অ্যাসিনক্রোনাস ফাংশন উদাহরণসহ ব্যাখ্যা