Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

ฟังก์ชัน strpbrk() ใน C++


นี่คือฟังก์ชันสตริงใน 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");