Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม C

ฟังก์ชัน strstr () ในภาษา C คืออะไร?


ฟังก์ชันไลบรารี C char *strstr(const char *haystack, const char *needle) ฟังก์ชั่นค้นหาการเกิดขึ้นครั้งแรกของสตริงย่อย เข็ม ในสตริง กองหญ้า . ไม่มีการเปรียบเทียบอักขระที่สิ้นสุด '\0'

อาร์เรย์ของอักขระเรียกว่าสตริง

ประกาศ

ไวยากรณ์สำหรับการประกาศอาร์เรย์มีดังนี้ −

char stringname [size];

ตัวอย่างเช่น − char string[50]; สตริงที่มีความยาว 50 ตัวอักษร

การเริ่มต้น

  • การใช้ค่าคงที่อักขระตัวเดียว −
char string[10] = { ‘H’, ‘e’, ‘l’, ‘l’, ‘o’ ,‘\0’}
  • การใช้ค่าคงที่สตริง −
char string[10] = "Hello":;

กำลังเข้าถึง − มีสตริงควบคุม "%s" ที่ใช้สำหรับเข้าถึงสตริงจนกว่าจะพบ '\0'

ฟังก์ชัน strstr()

  • ใช้เพื่อค้นหาว่าสตริงย่อยมีอยู่ในสตริงหลักหรือไม่

  • จะส่งกลับตัวชี้ไปที่การเกิดขึ้นครั้งแรกของ s2 ใน s1

ไวยากรณ์

ไวยากรณ์สำหรับฟังก์ชัน strstr() มีดังนี้ −

strstr(mainsring,substring);

ตัวอย่าง

โปรแกรมต่อไปนี้แสดงการใช้งานฟังก์ชัน 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");
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

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

ตัวอย่างที่ 2

มาดูโปรแกรมอื่นในฟังก์ชัน strstr() กัน

ให้ด้านล่างเป็นโปรแกรม C เพื่อค้นหาหากมีสตริงในสตริงอื่นเป็นสตริงย่อยโดยใช้ฟังก์ชันไลบรารี 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);
   }
}

ผลลัพธ์

เมื่อโปรแกรมข้างต้นทำงาน มันจะให้ผลลัพธ์ดังต่อไปนี้ −

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