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;