
Các hàm th vi n (string.h)ư ệ
M t S Hàm Thông D ng Nh t C n Ghi Nh :ộ ố ụ ấ ầ ớ
1 - strlen(a); //CÓ Tr vả ề đ dài c a chu i s.ộ ủ ỗ
Ví d :ụ
Char a[]=”HIT_HIT”
Cout<<”\n do dai xau a ”<<strlen(a);
// in ra: do dai xau a 7
2 - strcpy(a,b);//Gán Chu i a b ng chu i bỗ ằ ỗ
Ví d : char a[]="12345";ụ
char b[]="abc";
Có th g i 2 cách:ể ọ
strcpy(a,b);
cout<<a;
- Ho cặ
Cout<<strcpy(a,b);
Kết qu : ảabc
Nghĩa là có 2 hàm t n t i trong string.h mang tên strcpy 1 cái là void truy n vàoồ ạ ề
tham bi n a còn 1 cái là tr v xâu aế ả ề
Ta có th s d ng cái nào cũng đ c!ể ử ụ ượ
3 strcat(a,b);
N i chu i b vào chu i a. cũng t ng t hàm strcpy có 2 cách g iố ỗ ỗ ươ ự ọ
char a[] = “Khoa ”;
char b[] = "CNTT";
strcat(a,b);
cout<<a;
ho c có th g i: cout<<strcat(a,b); ặ ể ọ
Kết qu : ảKhoa CNTT
4 int strcmp(a,b);
So sánh 2 chu i a và b theoỗ
nguyên t c th t t đi n.ắ ứ ự ừ ể
Phân bi t ch hoa và th ng.ệ ữ ườ
Ví d :ụ
char a[] = “abcd”;
char b[] = "abCD";

Hàm int strcmp(a,b);
• 0 : nếu a b ng b.ằ
•> 0: nếu a l n h n b.ớ ơ
• <0: nếu a nh h n b.ỏ ơ
Th ng dùng:ườ
if(strcmp(a, b)==0)
printf("Giong nhau");
else
printf(“Khac nhau”);
Kết qu : ảKhac nhau
5:atoi va itoa
-Int atoi(a); // chuyên chuôi a sang sô rôi tra vê
char a[] = "123";
int b=atoi(a);
cout<<b+1;
kêt qua 124
-Itoa(b,a,10); // chuyên sô t biên b thanh chuôi rui gan vao a theo kiêu ư
thâp phân ( th ng chi chuyên thâp phân nên tham sô th 3 cua ham ươ ư
ghi luôn sô 10
)
-
char a[] = “123”;
itoa(124,a,10);
cout<<a;
kêt qua 124
Đ c Thêm: ọ
4 int stricmp(chars1[],char s2[])
T ng t nh strcmp(), nh ngươ ự ư ư
không phân bi t hoa th ng.ệ ườ
char *s1 = “abcd”;
char *s2 = "abCD";
if(stricmp(s1, s2)==0)
printf("Giong nhau");
else
printf(“Khac nhau”);

Kết qu : ảGiong nhau
5 int strnicmp(chars1[],char s2[], intn);
T ng t nh stricmp(),ươ ự ư
nh ng ch so sánh n ký t đ uư ỉ ự ầ
tiên c a hai chu i.ủ ỗ
char *s1 = “aBcd”;
char *s2 = "Abef";
if(strnicmp(s1, s2, 2)==0)
printf("Giong nhau");
else
printf(“Khac nhau”);
Kết qu : ảGiong nhau
6 char *strchr(chars[], char c);
Tìm l n xu t hi n đ u tiên c aầ ấ ệ ầ ủ
ký t c trong chu i s. Tr vư ỗ ả ề:
• NULL: nếu không có.
• Đ a ch c: nị ỉ ếu tìm th y.ấ
char s[15];
char *ptr, c = 'm';
strcpy(s, "Vi du tim ky tu");
ptr = strchr(s, c);
if (ptr)
printf("Ky tu %c tai: %d", c,
ptr-s);
else
printf("Khong tim thay");
t qu : ảKy tu m tai: 8
7 char *strstr(chars1[], char s2[]);
Tìm s xu t hi n đ u tiên c aự ấ ệ ầ ủ
chu i s2 trong chu i s1. Trỗ ỗ ả
về:
• NULL: nếu không có.
• Ng c l i: Đ a ch b t đ uượ ạ ị ỉ ắ ầ
chu i s2 trong s1.ỗ
char *s1 = "Borland
International"; char *s2 =
"nation", *ptr;

ptr = strstr(s1, s2);
printf("Chuoi con: %s\n", ptr);
Kết qu : ảChuoi con: national
8 char *strtok(chars1[], char s2[]);
• Nếu s2 có xu t hi n trongấ ệ
s1: Tách chu i s1 thành haiỗ
chu i: Chu i đ u là nh ngỗ ỗ ầ ữ
ký t cho đự ến khi g p chu iặ ỗ
s2 đ u tiên, chu i sau làầ ỗ
nh ng ký t còn l i c a s1ữ ự ạ ủ
sau khi đã b đi chu i s2ỏ ỗ
xu t hi n trong s1.ấ ệ
char input[16] = "abc,d";
char *p;
// Lay chuoi dau
p = strtok(input, ",");
if (p) printf("S11: %s\n", p);
/*Lay chuoi con lai, tham so dau
la NULL*/
p = strtok(NULL, ",");
if (p) printf("S12: %s\n", p);
Kết qu :ả
S11: abc
S12: d
9 strncpy(a,b,n);
Chép n ký t t chu i b sangự ừ ỗ
chu i a. Nỗ ếu chiều dài src <
n thì hàm s điẽ ền kho ng tr ngả ắ
cho đ n ký t vào dest.ủ ự
char dest[4];
char *src = "abcdefghi";
strncpy(dest, src, 3);
printf("%s\n", dest);
Kết qu : ảabc
10 strncat(chars1[],char s2[],int n)
N i n ký t đ u tiên c a chu iố ự ầ ủ ỗ
s2 vào chu i s1.ỗ

char *s1 = “Khoa ”;
char *s2 = "CNTT";
strncat(s1, s2, 2);
printf("%s\n", s1);
Kết qu : ảKhoa CN
11 int strncmp(chars1[],char s2[], intn)
T ng t nh strcmp(), nh ngươ ự ư ư
ch so sánh n ký t đ u tiênỉ ự ầ
c a hai chu i.ủ ỗ
char *s1 = “abcd”;
char *s2 = "abef";
if(strncmp(s1, s2, 2)==0)
printf("Giong nhau");
else
printf(“Khac nhau”);
Kết qu : ảGiong nhau