Entrada/sortida de fitxer en C

Funcionalitat d'entrada/sortida en el llenguatge de programació C

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]

Entrada/sortida de fitxer en C

Part deC standard library Modifica el valor a Wikidata
Més informació
Stack ExchangeEtiqueta Modifica el valor a Wikidata

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

modifica

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

modifica

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

modifica

Constants definides a la capçalera <stdio.h>

Les variables

modifica

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

modifica
  1. ISO/IEC 9899:1999 specification (en anglès). 
  2. Kernighan, Brian. The UNIX Programming Environment (en anglès). Englewood Cliffs: Prentice Hall, 1984, p. 200. 
  3. «C Files I/O: Opening, Reading, Writing and Closing a file» (en anglès). [Consulta: 11 desembre 2023].
  4. «(stdio.h) - C++ Reference» (en anglès americà). C++. [Consulta: 25 juliol 2021].