E-mail: albescudavidefrancesco@gmail.com
Web: www.pbinfo.ro
  referirea unui caracter din sir.
  parcurgerea unui sir de caractere
  • 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] << " ";