You are on page 1of 13

Chng 2

K thut x l Chui

Chui k t

Chui c xem nh l mt mng 1 chiu gm cc


phn t c kiu char nh mu t, con s v bt c k
t c bit nh +, -, *, /, $, #,
Chui k t (string) l mt dy k t tuyn tnh c
trng cho mt kiu d liu. Chui k t c th biu
din bng chui nh phn.
Chui nh phn l mt dy bao gm cc k t 0 v 1.
Chui nh phn l mt kiu chui k t c bit.

Chui k t

Khi to chui k t nh mng thng thng c


di c th:
char s[10] = {T, H, C, S, , A, \0};
char s[10] = THCS A;
// T ng thm k t \0
Khi to chui k t bng cch t xc nh di:
char s[ ] = {T, H, C, S, , A, \0};
char s[ ] = THCS A; // T ng thm k t \0
di chui = kch thc mng 1, v d:
char hoten[30];
// Di 29 k t
char ngaysinh[9];
// Di 8 k t

Chui k t
V d: S dng hm strcpy
#include <iostream.h>
#include <string.h>
int main ()
{
char szMyName [20];
strcpy (szMyName,"J. Soulie");
cout << szMyName;
return 0;
}
4

Chui k t
V d:To gi tr cho chui k t
#include <iostream.h>
void setstring (char szOut [], char szIn [])
{ int n=0; do
{
szOut[n] = szIn[n];
n++;
} while (szIn[n] != 0);
}
int main ()
{
char szMyName [20];
setstring (szMyName,"J. Soulie");
cout << szMyName;
return 0;
}
5

Chui k t
V d: S dng hm strcpy
#include <iostream.h>
#include <string.h>
int main ()
{
char szMyName [20];
strcpy (szMyName,"J. Soulie");
cout << szMyName;
return 0;
}
6

Chui k t
S dng cin.getline
#include <iostream.h>
int main ()
{
char mybuffer [100];
cout << "What's your name? ";
cin.getline (mybuffer,100);
cout << "Hello " << mybuffer << ".\n";
cout << "Which is your favourite team? ";
cin.getline (mybuffer,100);
cout << "I like " << mybuffer << " too.\n";
return 0;
}

Chui k t

atoi: chuyn chui k t thnh kiu int.


atol: chuyn chui k t thnh kiu long.
atof: chuyn chui k t thnh kiu float.

Chui k t

char* strcat (char* dest, const char* src);


Gn thm chui src vo pha cui ca dest. Tr v
dest.
int strcmp (const char* string1, const char* string2);
So snh hai xu string1 v string2. Tr v 0 nu hai
xu l bng nhau.
char* strcpy (char* dest, const char* src);
Copy ni dung ca src cho dest. Tr v dest.
size_t strlen (const char* string);
Tr v di ca string.
9

Chui k t

char *strdup(const char *s);


To bn sao ca mt chui s cho trc. Hm s t
to vng nh di strlen(s) + 1 (bytes) cha chui s.
Phi t hy vng nh ny khi khng s dng na.
Nu thnh cng tr v con tr n vng nh cha
chui bn sao. Ngc li, tr v NULL.
char *strlwr(char *s)
Chuyn chui s thnh chui thng.
char *strupr(char *s)
Chuyn chui s thnh chui in hoa.
char *strrev(char *s)
o ngc th t cc k t trong chui s (tr k t
kt thc chui).
10

Chui k t

Hn ch ca kiu chui trong C


-

Phi ch ng kim sot b nh cp pht cho


chui k t
Khng th gn gi tr hay s dng php ton +
(ghp chui) v cc php ton so snh nh: >
(ln hn), < (nh hn), m phi gi cc hm
th vin trong <string.h>.

Kiu chui string trong th vin STL ca C++


Th vin chun STL (Standard Template Library) ca
C++ c h tr kiu string cng vi cc php ton v
phng thc kh tin li cho ngi lp trnh.
11

Chui k t

Hn ch ca kiu chui trong C


-

Phi ch ng kim sot b nh cp pht cho


chui k t
Khng th gn gi tr hay s dng php ton +
(ghp chui) v cc php ton so snh nh: >
(ln hn), < (nh hn), m phi gi cc hm
th vin trong <string.h>.

Kiu chui string trong th vin STL ca C++


Th vin chun STL (Standard Template Library) ca
C++ c h tr kiu string cng vi cc php ton v
phng thc kh tin li cho ngi lp trnh.
12

13

You might also like