Sách C/Chuỗi ký tự
< Sách C
Dãy kí tự
sửaDã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ửaCá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ếuc
không tìm thấy trongsource
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ơnb
, 0 nếu chúng bằng nhau, dương nếua
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ãydest
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ãysource
tiếp vào vị trí cuối của dãydest
; các kí tự sau dấu kết thúcnull
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ãya
vàb
(theo thứ tự từ điển); hàm trả về số âm nếu phần so sánh củaa
nhỏ hơnb
, 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ãysource
vào dãydest
strrchr(source, c)
sửa
- tìm vị trí hiện lần cuối cùng của kí tự
c
trong dãysource
và trả về một con trỏ chỉ vào vị trí đó hay con trỏ trống nếu không tìm thấyc
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 trongs2
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ì trongs2
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 trongs2
strstr(source, subst)
sửa
- trả về một con trỏ chỉ tới vị trí của dãy
subst
trong dãysource
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 trongsource
strtok(s1, s2)
sửa
- trả về một con trỏ chỉ đến một
token
bên trongs1
mà được phân chia ra bởi các kí tự trongs2
strxfrm(s1, s2, n)
sửa
- chuyển đổi
s2
thànhs1
dùng các quy tắc địa phương đặc thù