นี่คือฟังก์ชันสตริงใน C++ ที่รับสตริงสองสตริง และหาตำแหน่งแรกที่พบตัวอักษรใดตัวหนึ่งของสตริงที่ 2 (string2) ในสตริงที่ 1 (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");