Documente Academic
Documente Profesional
Documente Cultură
Tema 4
Operații de intrare/ieșire la nivel de
consolă
Operaţii de intrare/ieşire în C++
În mod obişnuit, un program de calcul citeşte o serie de date de la
tastatură sau de pe disc şi le transferă în memoria internă alocată
programului, le prelucrează pe baza setului de instrucţiuni - prin
transferuri repetate între regiştrii de memorie şi regiştrii micro-
procesorului - şi în final le scrie sub forma prelucrată pe monitor sau
într-un fişier pe disc.
Cu alte cuvinte, un program de calcul execută operaţii de intrare
(input, read operations) prin citirea datelor, operaţii de prelucrare a
datelor şi operaţii de ieşire (output, write operations) prin scrierea
datelor.
Aceste operaţii nu se execută neapărat în ordinea dată aici, ele sunt
intercalate şi executate în mod repetat conform cu necesităţile
problemei de rezolvat.
Modul de derulare a operaţiilor de
intrare/ieşire (operaţii I/O) este specific
fiecărui dispozitiv hardware în parte,
pentru a le executa sistemul de operare
utilizează programe speciale (drivere) puse
la dispoziţie de producătorii dispozitivelor.
În limbajul C operaţiile I/O se execută
utilizând funcţii de intrare/ieşire, iar în
limbajul C++ utilizând clase de
intrare/ieşire.
În C++ obiectele date de clasele
specializate în operaţii I/O se numesc
fluxuri de date sau stream-uri. Toate
compilatoarele de C++ sunt dotate cu
biblioteci I/O standardizate, care
furnizează clase de stream-uri gata
implementate.
Biblioteca standard C++ <iostream> permite lucrul cu mai
multe categorii de stream-uri. Dintre acestea vom discuta în
continuare despre stream-urile cu consola, dispozitivul standard
de intrare-ieșire, altfel spus stream-uri care permit citirea de la
tastatură și afișarea pe ecran.
Stream-ul de ieșire cout
În cele mai multe cazuri, dispozitivul standard de ieșire este ecranul
și poate fi accesat cu stream-ul cout. Pentru aceasta, cout se folosește
împreună cu operatorul de inserție <<, urmat de data care se va afișa:
endl produce un caracter rând nou, exact ca și inserarea lui \n, dar mai face
ceva: endl golește buffer stream-ului cout, adică forțează afișarea pe ecran tuturor
caracterelor inserate în stream până în acest moment. endl produce întârzieri în
execuția programului, deci trebuie folosit cu precauție.
Stream-ul de intrare cin
În cele mai multe cazuri, dispozitivul standard de intrare este
tastatura și poate fi accesat cu stream-ul cin. Pentru
aceasta, cin se folosește împreună cu operatorul de extragere >>,
urmat de variabila în care se va memora valoarea extrasă
(variabila care se va citi):