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

Các hàm thư viện chuỗi (String Library Functions) trong C


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