Sunteți pe pagina 1din 4

SIRURI DE CARACTERE Declarare: char sir[dim]; sau char *sir; citire: cin>>sir; (daca nu sunt spatii) cin.

get(sir,dim); (daca are spatii) afisare: cout<<sir; prelucrare caractere: for(i=0;i<strlen(s);i++) prel s[i] Observatii: litera+!"=#$%&'( cifra=)cifra)*+, a are codul -. ( are codul /0 0 are codul +, Functii de prelucrare a sirurilor de caractere a. incluse in <strin .!" #r . Cr t. 1 " #u$ele functiei Rolul functiei E%e$plu

strlen (s); strcpy (s1, s2);

") !

strncpy(s1,s2,nr); strcat(s1,s2);

2etermina lungimea sirului 3opie sirul s" in s1 3opie in sirul s1 primele nr caractere din s" (dauga la sfarsitul lui s1 sirul s" (dauga la sfarsitul lui s1 primele nr caractere din s" %ransforma litere mici ale lui s in litere mari, restul caracterelor ramanand neschim4ate %ransforma litere mari in litere mici restul

strlen(siruri)=6 char s2[]=exemplu, s1[10], s3[10]; strcpy(s1,s2); s1=exemplu strncpy(s3, s2, 3); s3=exe char s2[]=exemplu, s1[]=!un, s3[10]; strcat(s1,s2); - s1=!unexemplu strncat(s1,s2,1); - s1=!une

!)

strncat(s1,s2,nr);

strupr("#ni$%3&); "'("$%3&

strupr(s);

strl)r(s);

strupr("#ni$%3&); i#nica3&

#r . Cr t.

#u$ele functiei

Rolul functiei

E%e$plu

strcmp(s1,s2);

/) .

stricmp(s1,s2); strre,(s);

caracterelor ramanand neschim4ate 3ompara s1 cu s" din punct de 5edere alfa4etic. 'e6ultatul compar7rii este 8 >0 daca s1>s"; =0 daca s1=s"; <0 daca s1<s" 3ompara s1 cu s" fara a face distinctie intre litere mari si mici $n5ersea6a sirul s 2etermina adresa primei aparitii a caracterului c in sirul s. 2aca nu se afla c in s atunci re6ultatul este 0 (pointerul 9:##) 2etermina adresa ultimei aparitii a caracterului c in sirul s. 2aca nu se afla c in s atunci re6ultatul este 0 (pointerul 9:##) 2etermina adresa de inceput a primei aparitii a sirului s" in sirul s1. 2aca nu se afla s" in s1 atunci re6ultatul este 0 (pointerul 9:##) 2etermina adresa de inceput a ultimei aparitii a sirului s" in sirul s1. 2aca nu se afla s" in s1

*trcmp((icu, %n+rei) 0 *trcmp("#n,"#n)=0 *trcmp(nicu,(icu) 0

*trcmp(nicu,(icu)=0

strchr(s,c);

char s[]=acasa; strre,(s); s=asaca $har s[]=a!raca+a!ra, c=-!-,s1[]=!r; $#ut..strchr(s,c); !raca+a!ra $#ut..strrchr(s,c); !ra $#ut..strstr(s,s1); !raca+a!ra $#ut..strrstr(s,s1); !ra $#ut..strchr(s,-x-);0 Obs: verificarea daca un character c este vocala: i/(strchr(aei#u%0"'1,c)2=0) 3333344 obs: afisarea pozitiei pe care se afla un character intr-un sir : c#ut..strchr(s,c)-s; (anal#5 la restul /unctiil#r +e cautare)

strrchr(s,c);

10

strstr(s1,s2);

11

strrstr(s1,s2);

#r . Cr t.

#u$ele functiei

Rolul functiei

E%e$plu

atunci re6ultatul este 0 (pointerul 9:##) $nlocuieste separatorul prin <relucrarea entitatilor dintr*un sir8 caracterul nul si p=strt#6(s,sep); furni6ea6a ca )hile(p2=0) re6ultat un 7 pointer catre 88prelucram p primul caracter al p=strt#6(0, sep); 1" strt#6(s1,s2); primei entitati 9 (e;trage cu5inte dintr*un te;t, in care cu5intele sunt separate prin caractere din s", cu rol de separatori) b. incluse in <stdlib.!" &functii de conversie' #r. Crt . 1! #u$ele functiei ;=atoi (s) Rolul functiei 3on5erteste sirul s intr*o 5aria4ila de tip int. 2aca sirul contine si alfel de caractere decat cifre, re6ultatul con5ersiei e 0 (con5ersia esuea6a) 3on5erteste sirul s intr*o 5aria4ila de tip float. 2aca sirul contine si alfel de caractere decat cifre, re6ultatul con5ersiei e 0 (con5ersia esuea6a) 3on5erteste sirul s intr*o 5aria4ila de tip lon . 2aca sirul contine si alfel de caractere decat cifre, re6ultatul con5ersiei e 0 (con5ersia esuea6a) 3on5erteste sirul s intr*o 5aria4ila de tip lon double. 2aca sirul contine si alfel de caractere decat cifre, re6ultatul con5ersiei e 0 (con5ersia esuea6a) E%e$plu

x=at#i(123); x=123 x=at#i(1a23); x=0

1+

;=atof(s)

x=at#/(1234&:); x=1234&: x=at#i(1a234c+); x=0 x=at#l(123&:6;<=); x=123&:6;<= x=at#l(1a23:;:=<6); x=0 x=at#/(1234&:); x=1234&: x=at#i(1a234c+); x=0

10

;=atol(s)

1/

;=atold( s)

#r. Crt . 1.

#u$ele functiei itoa(nr, sir, 4a6a) ltoa(nr, sir, 4a6a) ultoa(nr, sir, 4a6a)

Rolul functiei 3on5erteste un numar nr de tip int scris in 4a6a =ba(a> intr*un sir de caractere (4a6a e de o4icei 10) 3on5erteste un numar nr de tip long scris in 4a6a =ba(a> intr*un sir de caractere (4a6a e de o4icei 10) 3on5erteste un numar nr de tip unsigned long scris in 4a6a =ba(a> intr*un sir de caractere (4a6a e de o4icei 10)

E%e$plu

it#a(123,s,10); s= 123

1,

1-