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-এর অবস্থান প্রদর্শিত হবে। অন্যথায়, এটি প্রদর্শিত হয় যে ptr1 তে ptr2 এর কোন ঘটনা নেই। এটি নীচে দেখানো হয়েছে -
if(ptr) cout<<"Occurance of \""<< str2 <<"\" in \""<< str1 <<"\" is at position "<<ptr - str1 + 1; else cout<<"There is no occurance of \""<< str2 <<"\" in "<<str1;এ \""<