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

ฟังก์ชั่นการค้นหาสตริงในภาษา C คืออะไร?


ห้องสมุดยังมีฟังก์ชันการค้นหาสตริงต่างๆ ดังต่อไปนี้ -

ถ่าน *strchr (const ถ่าน *สตริง intc);
ค้นหาการเกิดขึ้นครั้งแรกของอักขระ c ในสตริง
ถ่าน "strrchr (สตริงอักขระ const, intc);
ค้นหาการเกิดขึ้นครั้งสุดท้ายของอักขระ c ในสตริง
ถ่าน *strpbrk (const ถ่าน *s1,const ถ่าน *s2);
ส่งคืนตัวชี้ไปยังการเกิดขึ้นครั้งแรกในสตริง s1 ของอักขระใดๆ จากสตริง s2 หรือตัวชี้ null หากไม่มีอักขระจาก s2 อยู่ใน s1
size_t strspn (const ถ่าน *s1, const ถ่าน *s2);
ส่งกลับจำนวนอักขระที่จุดเริ่มต้นของ s1 ที่ตรงกับ s2
size_t strcspn (const ถ่าน *51, ถ่าน const *s2);
ส่งคืนจำนวนอักขระที่จุดเริ่มต้นของ s1 ที่ ไม่ ตรงกับ s2
ถ่าน *strtok (ถ่าน *s1,ถ่านconst *s2);
แบ่งสตริงที่ si ชี้ไปเป็นลำดับของโทเค็น ซึ่งแต่ละตัวคั่นด้วยอักขระตั้งแต่หนึ่งตัวขึ้นไปจากสตริงที่ชี้ไปที่ s2
ถ่าน *strtok_r (ถ่าน *s1,ถ่านconst *s2,ถ่าน
มีฟังก์ชันเหมือนกับ strtok () ยกเว้น** ใช้งานได้นาน); ผู้โทรจะต้องระบุตัวชี้ไปยังตัวยึดสายอักขระ

strchr () และ strrchr () ใช้ง่ายที่สุด

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

ต่อไปนี้เป็นโปรแกรม C สำหรับ ฟังก์ชันการค้นหาสตริง

#include <string.h>
#include <stdio.h>
void main(){
   char *str1 = "Hello";
   char *ans;
   ans = strchr (str1,'l');
   printf("%s\n", ans);
}

ผลลัพธ์

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

llo

หลังจากการดำเนินการนี้ ans ชี้ไปที่ตำแหน่ง str1 + 2

strpbrk () เป็นฟังก์ชันทั่วไปที่ค้นหาการเกิดขึ้นครั้งแรกของกลุ่มอักขระใดๆ

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

ต่อไปนี้เป็นโปรแกรม C สำหรับการใช้ฟังก์ชัน strpbrk ()

#include <string.h>
#include <stdio.h>
void main(){
   char *str1 = "Hello";
   char *ans;
   ans = strpbrk (str1,"aeiou");
   printf("%s\n",ans);
}

ผลลัพธ์

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

llo

ที่นี่ ans ชี้ไปที่ตำแหน่ง str1 + 1 ตำแหน่งของอีแรก