Các hàm định nghĩa sẵn trong <string.h>:
- strlen()
- strcmp()
- strcpy()
- strncmp()
- strncpy()
- strrev()
- strcat()
- strstr()
- strncat()
Chi tiết từng hàm
strlen() – Độ dài chuỗi
int strlen(char *s);
char a[30] = "Hello"; int l = strlen(a); // l = 5
strcpy() – Sao chép chuỗi
strcpy(dest, src);
Lưu ý: dest phải đủ lớn chứa src.
strncpy() – Sao chép n ký tự
strncpy(dest, src, n);
Sau khi copy nhớ thêm dest[n] = '\0'.
strcat() – Nối chuỗi
strcat(dest, src);
Nối src vào cuối dest. dest phải đủ bộ nhớ.
strncat() – Nối n ký tự
strncat(dest, src, n);
strcmp() – So sánh chuỗi
int strcmp(s1, s2);
- Trả về 0: s1 == s2
- Trả về >0: s1 > s2 (theo mã ASCII)
- Trả về <0: s1 < s2
strncmp() – So sánh n ký tự đầu
strncmp(s1, s2, n);
strrev() – Đảo chuỗi
strrev(s);
strstr() – Tìm chuỗi con
char *strstr(main_str, sub_str);
Trả về con trỏ đến vị trí đầu tiên tìm thấy, hoặc NULL nếu không có.
Ví dụ chương trình strstr()
#include <stdio.h>
#include <string.h>
int main() {
char a[30], b[30];
char *found;
printf("Nhap chuoi chinh: "); gets(a);
printf("Nhap chuoi can tim: "); gets(b);
found = strstr(a, b);
if (found)
printf("'%s' tim thay tai vi tri %ld", b, found - a);
else
printf("Khong tim thay");
return 0;
}
Kết quả
Nhap chuoi chinh: how are you Nhap chuoi can tim: you 'you' tim thay tai vi tri 8