[Tutorial C]Siruri de caractere

#1
Nume Tutorial:Siruri de caractere
Descriere:Siruri de caractere
Download:Nu necesita
Autor:Anonim
Sursa (Link-ul oficial):
tutorialeprogramare
Propria parere:Util.
Tutorialul:


Sirurile de caractere sunt tablouri de caractere, care au ca ultim element un terminator de sir, caracterul NULL (zero ASCII), '\0'.

Exemplu:

Cod: Selectaţi tot

char tc[5]={'a', 'b', 'c', 'd', 'e'};
// tablou de caractere

char a[11]={'c', 'a', '1', 'c', 'u', 'l', 'a', 't', 'o', 'r' '\0'};
// sirul de caractere cu elementele calculator
Imagine
Vectorii de caractere pot fi initializati la declarare, caracterul NULL fiind memorat automat.

Exemplu:

char a[11]='calculator';
char a[]='calculator';
// in acest caz compilatorul face calculul numarului de octeti necesari

char a[100]='calculator';
// se rezerva mai multi octeti decat este necesar

Citirea si scrierea sirurilor de caractere

gets(sir)

Functia citeste un sir de caractere pana la intalnirea caracterului '\n' (tasta ENTER).
Prin utilizarea acestei functii sunt citite si caracterele albe, este inserat la sfarsitul sirului automat caracterul NULL.

Exemple:
1.

Cod: Selectaţi tot

char a[10];
flushall(); // functia flushall() se utilizeaza de fiecare data inaintea functiei gets() pentru a sterge caracterele ramase in bufferul tastaturii.

printf("Sirul citit este:\n %s", a); 
2.

Cod: Selectaţi tot

# include <stdio.h>
# include <string.h>
# include <conio.h>

int main(void) {
	char sir1[1000], sir2[25];
	printf("sir1 = ");
	flushall();
	gets(sir1);
	printf("sir2 = ");
	flushall();
	gets(sir2);
	getch();
	return 0;
}
Daca nu am fi folosit functia flushall() inaintea fiecarei citiri de sir, citirea e probabil sa nu se fi realizat.

Functii pentru operatii cu siruri de caractere

Functiile pentru operatii cu siruri de caractere se gasesc in headerul string.h.

strlen (nume_sir)
Returneaza un numar intreg ce reprezinta lungimea unui sir de caractere, fara a numara terminatorul de sir.

strcmp(sir_1, sir_2)
Functia compara cele doua siruri date ca argument si returneaza o valoare intreaga egala cu diferenta dintre codurile ASCII ale primelor caractere care nu coincid.

strcpy(sir_destinatie, sir_sursa)
Functia copie sirul sursa in sirul destinatie. Pentru a fi posibila copierea, lungimea sirului destinatie trebuie sa fie mai mare sau egala cu cea a sirului sursa, altfel pot aparea erori grave.

strcat(sir_destinatie, sir_sursa)
Functia concateneaza cele doua siruri: sirul sursa este adaugat la sfarsitul sirului destinatie. Tabloul care contine sirul destinatie trebuie sa aiba suficiente elemente.
N-am cerut la nimeni niciodata,
Chiar de-a fost sa rabd, in viata mea.
Am dat totul fara nici o plata,
Nevoind nimic sa mi se dea.

@Virgil Carianopol
Vezi-ti de treaba si retine:
"E treaba ta sa spui ce vrei si sa nu conteze pentru nimeni".

@Kazi Ploae

Înapoi la “Tutoriale C / C++ / C#”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 4 vizitatori