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

C++-এ strstr() ফাংশন


strstr() ফাংশনটি string.h-এ একটি প্রিডিফাইনড ফাংশন। এটি একটি সাবস্ট্রিং-এর আকারেন্স একটি স্ট্রিং-এ খুঁজে বের করতে ব্যবহৃত হয়। এই ম্যাচিং প্রসেস '\0'-এ থামে এবং এটি ইনক্লুড করে না।

strstr()-এর সিনট্যাক্স:

char *strstr(const char *str1, const char *str2)

উপরোক্ত সিনট্যাক্সে, strstr() স্ট্রিং str1-এ স্ট্রিং str2-এর প্রথম আকারেন্স খুঁজে বের করে। strstr() ইমপ্লিমেন্ট করার প্রোগ্রাম:

উদাহরণ

#include <iostream>
#include <string.h>
using namespace std;
int main() {
    char str1[] = "Apples are red";
    char str2[] = "are";
    char *ptr;
    ptr = strstr(str1, str2);
    if (ptr)
        cout << "Occurance of \"" << str2 << "\" in \"" << str1 << "\" is at position " << ptr - str1 + 1;
    else
        cout << "There is no occurance of \"" << str2 << "\" in " << str1;
    return 0;
}

আউটপুট

Occurance of "are" in "Apples are red" is at position 8

উপরোক্ত প্রোগ্রামে, str1 এবং str2 "Apples are red" এবং "are" ভ্যালু দিয়ে ডিফাইন করা হয়েছে। এটি নিচে দেওয়া হলো:

char str1[] = "Apples are red";
char str2[] = "are";
char *ptr;

পয়েন্টার ptr "Apples are red"-এ "are"-এর প্রথম আকারেন্স-এ পয়েন্ট করে। এটি strstr() ফাংশন ব্যবহার করে করা হয়েছে। এর কোড স্নিপেট নিচে দেওয়া হলো:

ptr = strstr(str1, str2);

যদি পয়েন্টার ptr ভ্যালু ধারণ করে, তবে str1-এ str2-এর পজিশন ডিসপ্লে করা হয়। অন্যথায়, str1-এ str2-এর কোনো আকারেন্স নেই তা ডিসপ্লে করা হয়। এটি নিচে দেখানো হলো:

if (ptr)
    cout << "Occurance of \"" << str2 << "\" in \"" << str1 << "\" is at position " << ptr - str1 + 1;
else
    cout << "There is no occurance of \"" << str2 << "\" in " << str1;

  1. C++-এ এনক্যাপসুলেশন

  2. C++-এ strpbrk() ফাংশন

  3. C++-এ আইডেন্টিফায়ার (Identifiers)

  4. লিনাক্সে C++-এর জন্য সেরা IDE কী?