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.