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

C/C++-তে strstr() ফাংশন: সাবস্ট্রিং সার্চ


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

সিনট্যাক্স

strstr()-এর সিনট্যাক্স নিচের মতো −

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

strstr()-এর প্যারামিটার

str2 হল সাবস্ট্রিং যা আমরা মেইন স্ট্রিং str1-এ খুঁজতে চাই

strstr()-এর রিটার্ন ভ্যালু

এই ফাংশন সাবস্ট্রিং-এর প্রথম আওয়ারেন্সের অ্যাড্রেস পয়েন্টার রিটার্ন করে যদি মেইন স্ট্রিং-এ পাওয়া যায়, অন্যথায় নাল রিটার্ন করবে যখন সাবস্ট্রিং মেইন স্ট্রিং-এ উপস্থিত নয়।

নোট − ম্যাচিং প্রসেসে নাল ক্যারেক্টার('\0') ইনক্লুড হয় না, বরং ফাংশনটি থেমে যায় যখন নাল ক্যারেক্টার এনকাউন্টার করে

উদাহরণ

Input: str1[] = {"Hello World"} str2[] = {"or"} Output: orld
Input: str1[] = {"tutorials point"} str2[] = {"ls"} Output: ls point

উদাহরণ

#include <string.h>
#include <stdio.h>
int main() {
    char str1[] = "Tutorials";
    char str2[] = "tor";
    char* ptr;
    // str1-এ str2-এর প্রথম আওয়ারেন্স খুঁজবে
    ptr = strstr(str1, str2);
    if (ptr) {
        printf("String is found\n");
        printf("The occurrence of string '%s' in '%s' is '%s'", str2, str1, ptr);
    }
    else
        printf("String not found\n");
    return 0;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে −

String is found
The occurrence of string 'tor' in 'Tutorials' is 'torials

এখন, strstr()-এর আরেকটি অ্যাপ্লিকেশন ট্রাই করি

আমরা এই ফাংশনটি স্ট্রিং-এর নির্দিষ্ট অংশ সাবস্টিটিউট করতেও ব্যবহার করতে পারি, উদাহরণস্বরূপ, যদি আমরা স্ট্রিং str1-এ এর সাবস্ট্রিং str2-এর প্রথম আওয়ারেন্স পাওয়ার পর str1-কে সাবস্টিটিউট করতে চাই।

উদাহরণ

Input: str1[] = {"Hello India"} str2[] = {"India"} str3[] = {"World"} Output: Hello World

ব্যাখ্যা − যখনি str2 str1-এ পাওয়া যাবে, তখন সেটি str3 দিয়ে সাবস্টিটিউট হয়ে যাবে

উদাহরণ

#include <string.h>
#include <stdio.h>
int main() {
    // যেকোনো দুটি স্ট্রিং নিন
    char str1[] = "Tutorialshub";
    char str2[] = "hub";
    char str3[] = "point";
    char* ptr;
    // str1-এ st2-এর প্রথম আওয়ারেন্স খুঁজুন
    ptr = strstr(str1, str2);
    // রেজাল্ট প্রিন্ট
    if (ptr) {
        strcpy(ptr, str3);
        printf("%s\n", str1);
    }
    else
        printf("String not found\n");
    return 0;
}

আউটপুট

উপরের কোড রান করলে নিচের আউটপুট জেনারেট হবে −

Tutorialspoint

  1. সি/সি++-এ ল্যাম্বডা ফাংশনের তাৎপর্য

  2. C/C++-তে ফাংশন: সম্পূর্ণ গাইড

  3. C/C++-তে putwchar() ফাংশন

  4. C/C++-তে system() ফাংশন: কম্যান্ড এক্সিকিউশন