Documente Academic
Documente Profesional
Documente Cultură
char nume[nr];
Exemple:
char s[256];
sau :
In memoria interna sirul este stocat sub forma unui vector de caractere. Fiecare
element al sirului (incepand cu 0) retine codul ASCII al caracterului pe care il
memoreaza. Ultimul element al sirului este caracterului nul care este memorat
automat. Trebuie rezervate lungimea_sirului+1 caractere (+1 pentru caracterul
nul ‘\0’).
Limbajul C/C++ permite initializarea unui tablou de caractere printr-o constanta
sir, care include automat caracterul null odata cu declararea sirului:
Exemple
cout<<"Introduceti sirul:";
cin.getline (s,255);
cin.getline(s1,15);
cin.getline(s2,10);
3. Afisarea sirurilor:
cout<<s;
cout<<s1<<"\n"<<s2;
// aici se obtine automat prin functia strlen lungimea sirului sau numarul de
elemente ale siruui
cout<< s[i];
sau
cout<< s[i];
unde strlen ( ) este functia care determina lungimea sirului. Asa cum am scris
mai sus, sirul de caractere este memorat de fapt intr-un vector incepand cu
indicele (i=0) pana la indicele (i = strelen (s) -1).
1. Functia strlen
int strlen(nume_sir); – returneaza lungimea efectiva a unui sir (fara a numara
terminatorul de sir \0 - NULL).
Exemplu:
Exemplu:
a=b; //eroare
strcpy(a,b);
REZULTAT : a = ”al doilea sir” si b isi pastreaza bininteles valoarea
initiala: b=”al doilea sir”;
Atentie : in cazul functiei strncpy daca numarul de caractere copiate din sirul
sursa este mai mic decat numarul de caractere din sirul destinatie atunci
caracaterele in plus din sirul destinatie nu vor fi afectate (rescrise). Urmariti
exemplul de mai jos :
Exemplu:
char a[50]=”hello”,b[40]=”world”;
strncpy(a,b,3);
Exemplu:
strcat(a,b);
Exemplu:
strncat(a,b,3);
4.Functia strchr
strchr(sir,c); – are rolul de a cauta caracterul c in sirul sir. Cautarea se face de la
stanga la dreapta, iar functia intoarce adresa subsirului care incepe cu prima
aparitie a caracterului c. Daca nu este gasit caracterul, functia returneaza 0.
Exemplu:
char *s=”informatica”,b=’t’;
5.Functia strcmp
int strcmp(sir1,sir2); – are rolul de a compara doua siruri de caractere. Valoarea
returnata este <0 (daca sir10 (daca sir1>sir2). Functia strcmp face distinctie
intre literele mari si cele mici ale alfabetului.
Obs: Functia strcmp returneaza diferenta dintre codurile ASCII ale primelor
caractere care nu coincid
6.Functia strstr
7.Functia strlwr
strlwr(sir); – are rolul de a converti toate literele mari din sir in litere mici.
Restul caracterelor raman neschimbate.
8.Functia strupr
strupr(sir); – are rolul de a converti toate literele mici din sir in litere mari.
Restul caracterelor raman neschimbate
Verifică dacă un caracter este alfanumeric (cifră, literă mare, literă mică). Returnează o
valoare diferită de zero dacă parametrul este alfanumeric, 0 în caz contrar.
isalpha
isalpha( sir[i]);
Verifică dacă un caracter este alfabetic (literă mare, literă mică). Returnează o valoare diferită
de zero dacă parametrul este alfabetic, 0 în caz contrar.
islower
islower( sir[i]);
Verifică dacă un caracter este literă mică. Returnează o valoare diferită de zero dacă
parametrul este literă mică, 0 în caz contrar.
isupper
isupper( sir[i]);
Verifică dacă un caracter este literă mare. Returnează o valoare diferită de zero dacă
parametrul este literă mare, 0 în caz contrar.
isdigit
isdigit( sir[i]);
Verifică dacă un caracter este cifră. Returnează o valoare diferită de zero dacă parametrul
este cifră, 0 în caz contrar.
tolower
tolower( sir[i]);
Convertește parametrul la literă mică. Dacă parametrul este literă mare, returnează valoarea
convertită, în caz contrar returnează valoarea inițială a parametrului.
toupper
toupper( sir[i]);
Convertește parametrul la literă mare. Dacă parametrul este literă mică, returnează valoarea
convertită, în caz contrar returnează valoarea inițială a parametrului.