Computer >> Máy Tính >  >> Lập trình >> C ++

strpbrk () trong C ++

Đây là một hàm chuỗi trong C ++ nhận vào hai chuỗi và tìm lần xuất hiện đầu tiên của bất kỳ ký tự nào của string2 trong string1. Nó trả về con trỏ đến ký tự trong string1 nếu có, nếu không sẽ trả về NULL. Điều này không áp dụng cho việc chấm dứt các ký tự NULL.

Cú pháp của strpbrk () như sau -

char *strpbrk(const char *str1, const char *str2)

Trong cú pháp trên, strpbrk () trả về con trỏ đến ký tự đầu tiên trong str1 khớp với bất kỳ ký tự nào trong str2.

Một chương trình chứng minh strpbrk () được đưa ra như sau.

Ví dụ

#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;
}

Đầu ra

First matching character in str1 is n at position 8

Trong chương trình trên, đầu tiên hai chuỗi str1 và str2 được định nghĩa. Con trỏ đến một ký tự trong str1 được trả về bởi strpbrk () được lưu trữ trong c. Nếu giá trị của c không phải là 0, thì ký tự và vị trí của nó trong str1 sẽ được hiển thị. Nếu không, ký tự không có trong str1. Điều này được chứng minh bằng đoạn mã sau.

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");