'l' tại vị trí 2, các hàm liên quan strchr/strstr/strcspn/strspn.">
 Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm strpbrk() trong C

Hàm strpbrk() tìm ký tự đầu tiên trong str1 xuất hiện trong str2. Trả về con trỏ đến ký tự đó trong str1, hoặc NULL nếu không tìm thấy. Khai báo trong <string.h>.

Cú pháp

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

Ví dụ

#include <stdio.h>
#include <string.h>

int main() {
    const char *s1 = "Helloworld";
    const char *s2 = "Blank";
    char *p = strpbrk(s1, s2);
    
    if (p)
        printf("Ky tu match dau tien: '%c' (vi tri %ld)\n", *p, p - s1);
    else
        printf("Khong co ky tu nao match\n");
    
    return 0;
}

Kết quả

Ky tu match dau tien: 'l' (vi tri 2)

Giải thích: s2 = "Blank" chứa {B,l,a,n,k}. Duyệt s1: H(0) e(1) l(2) -> 'l' ở index 2 thuộc s2. Trả về con trỏ đến 'l' đầu tiên.

Hàm liên quan

  • strchr(s, c) – Tìm 1 ký tự c trong s.
  • strstr(s1, s2) – Tìm chuỗi con s2 trong s1.
  • strcspn(s1, s2) – Độ dài prefix KHÔNG chứa chars trong s2.
  • strspn(s1, s2) – Độ dài prefix CHỈ chứa chars trong s2.
Ứng dụng: Parse token, tìm delimiter bất kỳ trong tập hợp (ví dụ: tách từ bằng space, comma, tab: strpbrk(line, " \t,")).