ฟังก์ชันไลบรารี 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