- Deoarece sirurile de caractere sunt de fapt tablouri, pentru referirea unui caracter din sir se foloseste operatorul [], ca in exemplul urmator:
char s[]="abac"; // sirul consta din 5 caractere: cele 4 litere si caracterul nul '\0'
cout << s[3]; // c
s[1] = 'r';
cout << s; // arac
cout << s[10]; // ??? comportament impredictibil: nu exista in sir caracter cu indice 10
- in numeroase situatii este necesara analizarea fiecarui caracter din sir. Pentru aceasta este necesara o parcurgere a sirului; aceasta se face similar cu parcurgerea unui tablou oarecare. Diferenta consta in faptul ca, pentru sirul de caractere nu se cunoaste explicit lungimea. Ea poate fi determinata cu functia strlen (vezi mai jos), dar putem controla parcurgerea sirului stiind ca dupa ultimul caracter valid din sir apare caracterul nul '\0'.
- Urmatoarele exemple parcurg un sir de caractere si afiseaza caracterele separate prin spatii:
char s[11];
cin >> s; // se citeste un cuvant , fara spatii
int i = 0;
while(s[i] != '\0')
{
charcout << s[i] << " ";
chari ++;
}
- sau mai condensat:
char s[11];
cin >> s; // se citeste un cuvant , fara spatii
for(int i = 0 ; s[i] ; i ++)
charcout << s[i] << " ";
Referirea Unui Caracter din Sir.
parcurgerea unui sir de caractere
parcurgerea unui sir de caractere