func ii care lucreaz cu iruri de caractere
Post on 09-Jan-2016
3 Views
Preview:
DESCRIPTION
TRANSCRIPT
7/17/2019 Func II Care Lucreaz Cu Iruri de Caractere
http://slidepdf.com/reader/full/func-ii-care-lucreaz-cu-iruri-de-caractere 1/5
Funcţii care lucrează cu şiruri de caractere
1. Incluse in biblioteca <string>
unsigned int strlen(char *sir);Eect! returnează numărul de caractere al unui şir de caractere, fără a lua în considerare caracterul nul de lasfârşitul şirului
E"e#$lu!char a[100]=”mama”; cout<<“sirul are ”<<strlena!<<“ caractere”; ""#a afisa $
char *strc$%(char *dest&char *sursa);Eect! co%iază şirul de la adresa sursa la adresa destina&ie' (o%ierea se termină la întâlnirea caracterului n)unc&ia returnează adresa şirului destina&ie' *imulează o%era&ia de atri+uire a=+'E"e#$lu!
char a[100]=“crocodil”,+[100]=“hi%o%otam”; strc%a,+!;
cout<<“sirul a- ”<<a<<endl; ""hi%o%otam
cout<<“sirul +- ”<<+<<endl; ""hi%o%otam
char *strnc$%(char *dest&char *sursa&unsigned int n);Eect- co%iază %rimii n octe&i din şirul de la adresa sursă la adresa destina&ie, fără a adău.a caracterul nul' )unreturnează adresa şirului destina&ie' *irul sursă rămâne nemodificat'E"e#$lu-
char a[100]=“crocodil”,+[100]=“hi%o%otam”; strnc%a,+,$!;
cout<<“sirul a- ”<<a<<endl; ""hi%o cout<<“sirul +- ”<<+<<endl; ""hi%o%otam
char *strcat(char *dest&char *sursa);Eect- adau.ă şirului de la adresa destina&ie, înaintea caracterului nul şirul de la adresa sursă' /irul de la adsursă rămâne nemodificat' %era&ia se numeşte concatenare' a adresa destina&ie #om a#ea şirul destina&ie urde şirul sursă' /irul destina&ie are lun.imea e.ală cu suma lun.imilor şirurilor'E"e#$lu-
char a[100]=“mama”,+[100]=“mer.e”; strcata,+!;
cout<<“sirul a- ”<<a<<endl; ""mamamer.e cout<<“sirul +- ”<<+<<endl; ""mer.e
char *strncat(char *dest&char *sursa& unsigned int n);Eect- adau.ă şirului de la adresa destina&ie, înaintea caracterului nul %rimii n octe&i ai şirul de la adresa sursă'/irul de la adresa sursă rămâne nemodificat' )unc&ia returnează adresa de înce%ut a şirului destina&ie'E"e#$lu-
char a[100]=“mama ”,+[100]=“mer.e”; strncata,+,2!;
cout<<“sirul a- ”<<a<<endl; ""mama mer cout<<“sirul +- ”<<+<<endl; ""mer.e
char *strchr(char *sir&int car);
1
7/17/2019 Func II Care Lucreaz Cu Iruri de Caractere
http://slidepdf.com/reader/full/func-ii-care-lucreaz-cu-iruri-de-caractere 2/5
Eect- caută de la stân.a la drea%ta, caracterul car în şirul de caractere sir' 3acă este .ăsit, func&ia întoarce adresu+şirului care înce%e cu %rima a%ari&ie a caracterului citit şi se termină cu carcterul nul' 3acă nu este .ăintoarce o e4%resie de ti% char5 cu #aloarea 0'E"e#$lu-
char a[100]=“crocodil”; cout<<strchra,6o6!; ""ocodil
char *strrchr(char *sir&int car);Eect- caută de la drea%ta la stân.a, caracterul car în şirul de caractere sir' 3acă este .ăsit, func&ia întoarce adresu+şirului care înce%e cu ultima a%ari&ie a caracterului citit şi se termină cu carcterul nul' 3acă nu este .ăintoarce o e4%resie de ti% char5 cu #aloarea 0'E"e#$lu-
char a[100]=“crocodil”; cout<<strrchra,6o6!; ""odil
char *strstr(char *sir1&char *sir');Eect! identifică dacă şirul sir7 este su+şircaractere succesi#e! al şirului sir1' dacă este .ăsit, func&iareturnează adresa sa de înce%ut în cadrul şirului s1, altfel returnează 0' (ăutarea se face de la stân.a ladrea%ta' 3acă sir7 a%are de mai multe ori, returnează adresa %rimei sale a%ari&ii'E"e#$lu!
char a[100]=“azi ele fac cafele”,+[70]= “ele”; cout<<strstra,+!; ""ele fac cafele
char *strto(char *sir1&char *sir');Eect! se%ară şirul sir1 în entită&i delimitate de unul sau mai multe carctere din şirul sir7 acestea a#ând rol dese%aratori!' 8%elul func&iei se face %rima dată su+ forma strto9sir1,sir7! : func&ia întoarce adresa %rimuluicaracter al %rimei entită&i : şi a doua oară su+ forma strto9,sir7! şi func&ia întoarce adresa %rimuluicaracter al următoarei entită&i şi du%ă el este adău.at caracterul nul' (ând şirul ini&ial nu mai con&ine entită&i,intoarce adresa nulă'E"e#$lu-char a[100],se%[]=“, ;'>”,5%;
cin'.eta,100!; $strto(a&se$); ?hile %! @ cout<<%<<endl; $strto(+,,&se$);
int strc#$(char *sir1&char *sir');Eect! com%ară cele două şiruri de caractere' Aaloarea returnată este-
<0 dacă sir1<sir7=0 dacă sir1=sir7B0 dacă sir1Bsir7)unc&ia face distinc&ie între literele mari si literele mici' (om%ararea şirurilor se realizează com%arând
la stân.a la drea%ta caracter cu caracter' n şir este mai mic dacât altul dacă fi.urează în dic&ionar inaintea lui'E"e#$lu-
char a[70]=“adriana”,+[70]= “ana”, c[70]= “8na”; cout<<strcm%a,+!; ""<0 deoarece Ca6=6a6 si Cd6<6n6 =B “adriana”< “ana” cout<<strcm%a,c!; ""B0 deoarece Ca6B686
cout<<strcm%+,c!; ""B0 deoarece Ca6B686
7
7/17/2019 Func II Care Lucreaz Cu Iruri de Caractere
http://slidepdf.com/reader/full/func-ii-care-lucreaz-cu-iruri-de-caractere 3/5
int stric#$(char *sir1&char *sir');Eect- are acelaşi efect ca şi strcm% dar nu face diferen&ă între literele mari şi literele mici'E"e#$lu-
char +[70]= “ana”, c[70]= “8na”; cout<<stricm%+,c!; ""==0
int strnc#$(char *sir1&char *sir'&int n);
Eect- are acelaşi efect ca şi strcm% dar com%ara doar %rimele n caractere din cele doua siruriE"e#$lu-char +[70]= “adriana”, c[70]= “adina”;
cout<<strncm%+,c,7!; ""==0
int strnc#$i(char *sir1&char *sir'&int n);Eect- are acelaşi efect ca şi strncm% dar nu face diferen&ă între literele mari şi literele mici'E"e#$lu-
char +[70]= “adriana”, c[70]= “83ina”; cout<<strncm%i+,c,7!; ""==0
char *stru$r(char *s)Eect- transformă un şir de caractere din litere mici în litere mari' Destul caracterelor rămân nemodificate'E"e#$lu! char a[100]=“1 crocodil”; cout<<stru%ra!; ""1 (D(3E
char *strl-r(char *s)Eect- transformă un şir de caractere din litere mari în litere mici' Destul caracterelor rămân nemodificate'E"e#$lu! char a[100]=“1 (D(3E”; cout<<strl?ra!; ""1 crocodil
'. Incluse in biblioteca <stdlib.h>
int atoi(char *s)Eect- transformă un şir de carcatere într:un între. int!'
E"e#$lu! int n;
char 5s=”172$'FG”;
n=atois!;
cout<<n; "" #a afisa 172$
long atol(char *s)Eect- transformă un şir de carcatere într:un între. lon.!'
double ato(char *s)Eect- transformă un şir de carcatere într:un număr real'
E"e#$lu! float n;
char 5s=”:$F7172$'FG”;
n=atofs!;
2
7/17/2019 Func II Care Lucreaz Cu Iruri de Caractere
http://slidepdf.com/reader/full/func-ii-care-lucreaz-cu-iruri-de-caractere 4/5
cout<<n; "" #a afisa :$F7172$'FG
char *itoa(int al& char *sir& int baza)Eect! transformă un numar între. int! într:un şir de caractere' Haza re%rezintă +aza in care este scris noul număr'
E"e#$lu! int n=172$F;
char s[70];
itoan,s,10!;
cout<<s "" #a afisa sirul “172$F”
char *ltoa(long al& char *sir& int baza)Eect! transformă un numar între. lon.! într:un şir de caractere'
char *ultoa(unsigned long al& char *sir& int baza)Eect! transformă un numar între. unsi.ned lon.! într:un şir de caractere'
/. Funcţii care lucrează cu caractere0unt incluse in biblioteca <ct%$e.h>. estează dacă un cracter $ri#it ca $ara#etru 2nde$lineşte o condiţie. 3eturnează 4dacă acel caracter nu inde$lineşte condiţia şi aloare dierită de 4 dacă o 2nde$lineşte.
int isalnu#(int c);Eect!testează dacă un caracter este literă sau cifră
E"e#$lu! char s=66;
cout<<isalnums!; "" #a afisa o #alore diferita de 0
int isal$ha(int c);Eect! testează dacă un caracter este literă
int isdigit(int c);Eect! testează dacă un caracter este cifră
E"e#$lu!
char s=66; cout<<isdi.its!; "" #a afisa 0
int islo-er(int c);Eect! testează dacă un caracter este literă mică
int isu$$er(int c);Eect! testează dacă un caracter este literă mare
int iss$ace(int c);Eect! testează dacă un caracter este s%a&iu
int is"digit(int c);Eect! testează dacă un caracter este cifră în +aza 1G
E"e#$lu! char s=6d6;
cout<<is4di.its!; "" #a afisa o #alore diferita de 0, deoarece d este o cifra in +aza 1G
int tou$$er(int c);Eect! transformă un caracter care este litera mică în literă mare
E"e#$lu! char s=66; cout<<tou%%ers!; "" #a afisa CI6
int tolo-er(int c);
$
top related