Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình C

Hàm strchr() trong C/C++

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

Cú pháp

char *strchr(const char *str, int c);

Ví dụ

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

int main() {
    char s[] = "Helloworld!";
    char c = 'o';
    char *p = strchr(s, c);
    
    if (p)
        printf("Tim thay '%c' tai vi tri %ld: %s\n", c, p - s, p);
    else
        printf("Khong tim thay '%c'\n", c);
    
    return 0;
}

Kết quả

Tim thay 'o' tai vi tri 4: oworld!

Giải thích: Chuỗi "Helloworld!", ký tự 'o' đầu tiên ở index 4 (0-based). strchr trả về con trỏ đến 'o' đó, in ra chuỗi con từ đó: "oworld!".

Hàm liên quan

  • strrchr() – Tìm xuất hiện cuối cùng.
  • strstr() – Tìm chuỗi con (substring).
  • strpbrk() – Tìm ký tự nào trong tập hợp.
  • strcspn(), strspn() – Độ dài segment không/trong tập hợp.
Lưu ý: Tham số c là int nhưng chỉ dùng byte thấp. Truyền char được implicit conversion. Kiểm tra NULL trước khi giải tham chiếu.