strchr() là hàm định nghĩa sẵn trong C++ để xử lý chuỗi. Trả về lần xuất hiện đầu tiên của ký tự cho trước trong chuỗi.
Cú pháp:
char* strchr(const char* str, int c)
str là chuỗi chứa ký tự c. strchr() tìm lần đầu c xuất hiện trong str.
Ví dụ 1 - Tìm vị trí ký tự
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[] = "strings";
char* c = strchr(str, 's');
cout << "First occurrence of character " << *c << " in the string is at position " << c - str + 1;
return 0;
}
Kết quả
First occurrence of character s in the string is at position 1
Chuỗi str = "strings". Con trỏ c trỏ đến 's' đầu tiên (vị trí 1). Tính vị trí: c - str + 1.
char str[] = "strings";
char* c = strchr(str, 's');
cout << "First occurrence of character " << *c << " in the string is at position " << c - str + 1;
Ví dụ 2 - Lấy phần đuôi chuỗi (suffix)
strchr() cũng dùng để lấy chuỗi con từ ký tự đầu tiên tìm thấy.
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char str[] = "strings";
char* c = strchr(str, 'i');
cout << "Remaining string after first occurrence of " << *c << " is " << c;
return 0;
}
Kết quả
Remaining string after first occurrence of i is ings
Tìm 'i' đầu tiên, in từ đó đến cuối chuỗi ("ings").
char str[] = "strings";
char* c = strchr(str, 'i');
cout << "Remaining string after first occurrence of " << *c << " is " << c;