Entrada/sortida de fitxer en C

De la Viquipèdia, l'enciclopèdia lliure
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

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[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].