นี่คือฟังก์ชันสตริงใน C ++ ที่ใช้สองสตริงและค้นหาการเกิดขึ้นครั้งแรกของอักขระ string2 ใน string1 จะส่งคืนตัวชี้ไปยังอักขระใน string1 หากมี มิฉะนั้นจะคืนค่า NULL นี้ใช้ไม่ได้สำหรับการยกเลิกอักขระ NULL.
ไวยากรณ์ของ strpbrk() มีดังต่อไปนี้ -
char *strpbrk(const char *str1, const char *str2)
ในไวยากรณ์ด้านบน strpbrk() จะคืนค่าตัวชี้ไปยังอักขระตัวแรกใน str1 ที่ตรงกับอักขระใดๆ ใน str2
โปรแกรมที่แสดง strpbrk() มีดังต่อไปนี้
ตัวอย่าง
#include <iostream> #include <cstring> using namespace std; int main() { char str1[20] = "aeroplane"; char str2[20] = "fun"; char *c; c = strpbrk(str1, str2); if (c != 0) cout<<"First matching character in str1 is "<< *c <<" at position "<< c-str1+1; else printf("Character not found"); return 0; }
ผลลัพธ์
First matching character in str1 is n at position 8
ในโปรแกรมข้างต้น ขั้นแรกให้กำหนดสองสตริง str1 และ str2 ตัวชี้ไปยังอักขระใน str1 ที่ส่งคืนโดย strpbrk() ถูกเก็บไว้ใน c หากค่าของ c ไม่ใช่ 0 อักขระและตำแหน่งของอักขระใน str1 จะปรากฏขึ้น มิฉะนั้น อักขระจะไม่อยู่ใน str1 สิ่งนี้แสดงให้เห็นโดยข้อมูลโค้ดต่อไปนี้
char str1[20] = "aeroplane"; char str2[20] = "fun"; char *c; c = strpbrk(str1, str2); if (c != 0) cout<<"First matching character in str1 is "<<*c <<" at position "<< c-str1+1; else printf("Character not found");