Computer >> Máy Tính >  >> Lập trình >> lập trình C

Hàm strstr () trong ngôn ngữ C là gì?

Hàm thư viện C char * strstr (const char * haystack, const char * kim) hàm tìm lần xuất hiện đầu tiên của chuỗi con kim trong chuỗi haystack . Các ký tự '\ 0' kết thúc không được so sánh.

Một mảng các ký tự được gọi là một chuỗi.

Tuyên bố

Cú pháp khai báo một mảng như sau -

char stringname [size];

Ví dụ - chuỗi ký tự char [50]; chuỗi dài 50 ký tự

Khởi tạo

  • Sử dụng hằng số ký tự -
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • Sử dụng hằng số chuỗi -
char string[10] = "Hello":;

Truy cập - Có một chuỗi điều khiển "% s" được sử dụng để truy cập vào chuỗi cho đến khi nó gặp ‘\ 0’.

Hàm strstr ()

  • Nó được sử dụng để tìm kiếm xem một chuỗi con có trong chuỗi chính hay không.

  • Nó trả về con trỏ đến lần xuất hiện đầu tiên của s2 trong s1.

Cú pháp

Cú pháp cho hàm strstr () như sau -

strstr(mainsring,substring);

Ví dụ

Chương trình sau đây cho thấy cách sử dụng hàm strstr ().

#include<stdio.h>
void main(){
   char a[30],b[30];
   char *found;
   printf("Enter a string:\n");
   gets(a);
   printf("Enter the string to be searched for:\n");
   gets(b);
   found=strstr(a,b);
   if(found)
      printf("%s is found in %s in %d position",a,b,found-a);
   else
      printf("-1 since the string is not found");
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter a string: how are you
Enter the string to be searched for: you
you is found in 8 position

Ví dụ 2

Hãy xem một chương trình khác trên hàm strstr ().

Dưới đây là một chương trình C để tìm, nếu một chuỗi có trong một chuỗi khác dưới dạng chuỗi con bằng cách sử dụng hàm thư viện strstr -

#include<stdio.h>
#include<string.h>
void main(){
   //Declaring two strings//
   char mainstring[50],substring[50];
   char *exists;
   //Reading strings//
   printf("Enter the main string : \n ");
   gets(mainstring);
   printf("Enter the sub string you would want to check if exists in main string :");
   gets(substring);
   //Searching for sub string in main string using library function//
   exists = strstr(mainstring,substring);
   //Conditions//
   if(exists){
      printf("%s exists in %s ",substring,mainstring);
   } else {
      printf("'%s' is not present in '%s'",substring,mainstring);
   }
}

Đầu ra

Khi chương trình trên được thực thi, nó tạo ra kết quả sau -

Enter the main string : TutorialsPoint c Programming
Enter the sub string you would want to check if exists in main string :Programming
Programming exists in TutorialsPoint c Programming