En el llenguatge de programació C++, la biblioteca d'entrada/sortida fa referència a una família de plantilles de classe i funcions de suport a la biblioteca estàndard de C++ que implementen capacitats d'entrada/sortida basades en fluxos. És una alternativa orientada a objectes als fluxos basats en FILE de C de la biblioteca estàndard C.

Història Bjarne Stroustrup, el creador de C++, va escriure la primera versió de la biblioteca d'E/S de flux el 1984, com una alternativa segura i extensible a la biblioteca d'E/S de C. La biblioteca ha sofert una sèrie de millores des d'aquesta versió inicial, inclosa la introducció de manipuladors per controlar el format i la plantilla per permetre el seu ús amb tipus de caràcters diferents de char.

Visió general La majoria de les classes de la biblioteca són en realitat plantilles de classe molt generalitzades. Cada plantilla pot funcionar amb diversos tipus de caràcters, i fins i tot les operacions en si, com ara com es comparen dos caràcters per igualtat, es poden personalitzar. Tanmateix, la majoria del codi ha de fer operacions d'entrada i sortida utilitzant només un o dos tipus de caràcters, per tant, la majoria de vegades s'accedeix a la funcionalitat a través de diversos typedefs, que especifiquen noms per a les combinacions de plantilla i tipus de caràcter que s'utilitzen habitualment.

Fitxers de capçalera Les classes de la biblioteca d'entrada/sortida resideixen en diverses capçaleres.

Buffers de flux Hi ha dotze classes de buffer de flux definides en el llenguatge C++ com a taula.

Classes de suport ios_base i basic_ios són dues classes que gestionen els bits de nivell inferior d'un flux. ios_base emmagatzema informació de format i l'estat del flux. basic_ios gestiona el stream-buffer associat. basic_ios es coneix comunament com simplement ios o wios, que són dos tipus de definicions per basic_ios amb un tipus de caràcter específic. basic_ios i ios_base són molt poques vegades utilitzats directament pels programadors. Normalment, s'accedeix a la seva funcionalitat a través d'altres classes com iostream que les hereten.

Fluxos d'entrada/sortida Els fluxos d'entrada/sortida de C++ es defineixen principalment per iostream, un fitxer de capçalera que forma part de la biblioteca estàndard de C++ (el nom significa I nput/ Output Stream). En C++ i el seu predecessor, el llenguatge de programació C, no hi ha una sintaxi especial per a l'entrada o sortida de dades en streaming. En canvi, es combinen com una biblioteca de funcions. Igual que la capçalera cstdio heretada de stdio.h de C, iostream proporciona serveis bàsics d'entrada i sortida per a programes C++. iostream utilitza els objectes cin, cout, cerr i clog per enviar dades a i des dels fluxos estàndard d'entrada, sortida, error (sense búfer) i registre (emmagatzemat) respectivament. Com a part de la biblioteca estàndard de C++, aquests objectes formen part de l'espai de noms std.

Referències

Categoria:C++