- Se poate folosi operatorul >> de extractie din stream:
cin >> s;
- in acest mod, datorita specificului operatorului >> nu se pot citi siruri care contin spatii – se vor citi caracterele pana la primul spatiu, fara acesta.
- Pentru a citi siruri care contin spatii, putem folosi metoda getline a obiectului cin sau alt obiect de tip istream:
istream& getline (char* s, streamsize n );
- Se vor citi in sirul s caracterele din stream-ul de intrare (de la tastatura) pana la aparitia caracterului sfarsit de linie '\n', dar nu mai mult de n-1 caractere. Caracterul '\n' nu va fi adaugat la sirul s, dar va fi extras din stream. De exemplu:
cin.getline(s , 11);
- Am putea spune ca getline citeste toata linia si sare peste ENTER. Iata un exemplu complet:
#include < iostream >
using namespace std;
int main(){
char nume1[31], nume2[31];
cout << "Cum te cheama? (nume, prenume) ";
cin.getline(nume1, 31);
cout << "Cum il cheama pe prietenule tau? ";
cin.getline(nume2 , 31);
cout << "Te numesti " << nume1 << endl;
cout << "Esti prieten cu " << nume2 << endl;
return 0;
} - O alta modalitate de citire a unui sir care poate contine spatii este folosirea metodei get a obiectului istream, pe care nu o mai prezentam aici.
Citirea Unui Sir de Caractere