Bước tới nội dung

Sách C/Chuỗi ký tự

Tủ sách mở Wikibooks


Dãy kí tự

[sửa]

Dãy kí tự có thể được thay đổi nội dung của nó mà không cần đến thư viện chuẩn. Tuy nhiên, thư viện này có nhiều hàm có thể dùng cho cả dãy kí tự có kết thúc 0 và mảng không có kí tự kết thúc kiểu char. Trong phần này từ "dãy" được để chỉ dãy kí tự.

Hàm Xử Lý

[sửa]

Các hàm thường dùng là:

strcat(dest, source)

[sửa]
nối một dãy kí tự source tiếp vào vị trí cuối của dãy kí tự dest

strchr(source, c)

[sửa]
tìm vị trí sự xuất hiện đầu tiên của c trong dãy kí tự source và trả về con trỏ chỉ tới vị trí đó hay con trỏ trống nếu c không tìm thấy trong source

strcmp(a, b)

[sửa]
so sánh hai dãy kí tự a và b (theo thứ tự từ điển); trả về số âm nếu a nhỏ hơn b, 0 nếu chúng bằng nhau, dương nếu a lớn hơn

strcpy(dest, source)

[sửa]
chép và thay các kí tự của dãy soure vào dãy dest

strlen(st)

[sửa]
trả về độ dài của st

strncat(dest, source, n)

[sửa]
nối tối đa n kí tự từ dãy source tiếp vào vị trí cuối của dãy dest; các kí tự sau dấu kết thúc null sẽ không được chép vào

strncmp(a, b, n)

[sửa]
so sánh từ kí tự đầu cho đến tối đa n kí tự từ hai dãy ab (theo thứ tự từ điển); hàm trả về số âm nếu phần so sánh của a nhỏ hơn b, 0 nếu bằng nhau, và dương nếu lớn hơn

strncpy(dest, source, n)

[sửa]
chép từ đầu đến tối đa n kí tự từ dãy source vào dãy dest

strrchr(source, c)

[sửa]
tìm vị trí hiện lần cuối cùng của kí tự c trong dãy source và trả về một con trỏ chỉ vào vị trí đó hay con trỏ trống nếu không tìm thấy c trong đó

Các hàm ít dùng tới hơn là:

strcoll(s1, s2)

[sửa]
so sánh hai dãy theo một trình tự địa phương đặc thù

strcspn(s1, s2)

[sửa]
trả về chỉ số của kí tự đầu tiên trong s1 trùng với kí tự bất kì nào trong s2

strerror(err)

[sửa]
trả về một dãy kí tự dưới dạng một thông báo lỗi ứng với mã (câu viết) trong err

strpbrk(s1, s2)

[sửa]
trả về một con trỏ chỉ vào kí tự đầu tiên nào trong s1 mà trùng với kí tự bất kì trong s2 hay một con trỏ trống nếu không tìm thấy

strspn(s1, s2)

[sửa]
trả về chỉ số của kí tự đầu tiên trong s1 mà nó không xuất hiện trong s2

strstr(source, subst)

[sửa]
trả về một con trỏ chỉ tới vị trí của dãy subst trong dãy source hay trả về một con trỏ rỗng nếu không tồn tại một dãy như vậy bên trong source

strtok(s1, s2)

[sửa]
trả về một con trỏ chỉ đến một token bên trong s1 mà được phân chia ra bởi các kí tự trong s2

strxfrm(s1, s2, n)

[sửa]
chuyển đổi s2 thành s1 dùng các quy tắc địa phương đặc thù