Func II Care Lucreaz Cu Iruri de Caractere

5
Funcţii care lucrează cu şiruri de carac tere 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 la sfâ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 nul' )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' )unc&ia returnează 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 adresa sursă rămâne nemodificat' %era&ia se numeşte concatenare' a adresa destina&ie #om a#ea şirul destina&ie urmat de ş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

description

Func II Care Lucreaz Cu Iruri de Caractere

Transcript of Func II Care Lucreaz Cu Iruri de Caractere

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);

$

7/17/2019 Func II Care Lucreaz Cu Iruri de Caractere

http://slidepdf.com/reader/full/func-ii-care-lucreaz-cu-iruri-de-caractere 5/5

Eect! transformă un caracter  care este litera mare în literă mică

E"e#$lu!  char s=6I6;

  cout<<tolo?ers!; "" #a afisa C6

F