El llenguatge de programació C ofereix moltes funcions de biblioteca estàndard per a l'entrada i sortida de fitxers. Aquestes funcions constitueixen la major part de la capçalera de la biblioteca estàndard C <stdio.h>.[1] La funcionalitat descendeix d'un "paquet d'E/S portàtil" escrit per Mike Lesk a Bell Labs a principis dels anys 70,[2] i oficialment va passar a formar part del sistema operatiu Unix a la versió 7.[3]
La funcionalitat d'E/S de C és de nivell bastant baix per als estàndards moderns; C resumeix totes les operacions de fitxers en operacions sobre fluxos de bytes, que poden ser "seqüències d'entrada" o "seqüències de sortida". A diferència d'alguns llenguatges de programació anteriors, C no té suport directe per a fitxers de dades d'accés aleatori ; per llegir des d'un registre al mig d'un fitxer, el programador ha de crear un flux, buscar al centre del fitxer i després llegir bytes en seqüència des del flux.
El model de flux d'E/S de fitxers va ser popularitzat per Unix, que es va desenvolupar simultàniament amb el propi llenguatge de programació C. La gran majoria dels sistemes operatius moderns han heretat fluxos d'Unix, i molts idiomes de la família de llenguatges de programació C han heretat la interfície d'E/S de fitxers de C amb pocs canvis o cap canvi (per exemple, PHP).
Visió general
Aquesta biblioteca utilitza el que s'anomenen streams per operar amb dispositius físics com teclats, impressores, terminals o amb qualsevol altre tipus de fitxers suportats pel sistema. Els fluxos són una abstracció per interactuar amb aquests d'una manera uniforme. Tots els fluxos tenen propietats similars independentment de les característiques individuals dels mitjans físics als quals estan associats.[4]
Funcions
La majoria de les funcions d'entrada/sortida del fitxer C es defineixen a<stdio.h> (o a la capçalera de C++cstdio, que conté la funcionalitat estàndard C però en el fitxerstdespai de noms).
Constants
Constants definides a la capçalera <stdio.h>
Les variables
Variables definides en la capçalera <stdio.h> inclou:
Nom
|
Notes
|
stdin
|
Un punter a aFILE que fa referència al flux d'entrada estàndard, normalment un teclat.
|
stdout
|
Un punter a aFILE que fa referència al flux de sortida estàndard, normalment un terminal de visualització.
|
stderr
|
Un punter a aFILE que fa referència al flux d'error estàndard, sovint un terminal de visualització.
|
Referències