ห้องสมุดยังมีฟังก์ชันการค้นหาสตริงต่างๆ ดังต่อไปนี้ -
ถ่าน *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 ตำแหน่งของอีแรก