Delen via


Bestanden en streams

Een programma communiceert met de doelomgeving door bestanden te lezen en te schrijven. Een bestand kan het volgende zijn:

  • Een gegevensset die u herhaaldelijk kunt lezen en schrijven.

  • Een stroom van bytes die zijn gegenereerd door een programma (zoals een pijplijn).

  • Een stroom bytes ontvangen van of verzonden naar een randapparaat.

De laatste twee items zijn interactieve bestanden. Bestanden zijn doorgaans de belangrijkste manier om te communiceren met een programma. U bewerkt al dit soort bestanden op ongeveer dezelfde manier: door bibliotheekfuncties aan te roepen. U neemt de standaardheader STDIO op. H om de meeste van deze functies te declareren.

Voordat u veel van de bewerkingen op een bestand kunt uitvoeren, moet het bestand worden geopend. Als u een bestand opent, wordt het gekoppeld aan een stroom, een gegevensstructuur in de Standard C-bibliotheek die veel verschillen tussen bestanden van verschillende soorten verdoezelt. De bibliotheek behoudt de status van elke stroom in een object van het type FILE.

De doelomgeving opent drie bestanden voordat het programma wordt opgestart. U kunt een bestand openen door de bibliotheekfunctie fopenaan te roepen, _wfopen met twee argumenten. (De fopen functie is afgeschaft, gebruikfopen_s_wfopen_s in plaats daarvan.) Het eerste argument is een bestandsnaam. Het tweede argument is een C-tekenreeks die het volgende aangeeft:

  • Of u nu gegevens uit het bestand wilt lezen of er gegevens naar wilt schrijven of beide.

  • Of u nu nieuwe inhoud voor het bestand wilt genereren (of een bestand wilt maken als het nog niet eerder bestond) of de bestaande inhoud behouden.

  • Of schrijfbewerkingen in een bestand de bestaande inhoud kunnen wijzigen of dat alleen bytes mogen worden toegevoegd aan het einde van het bestand.

  • Of u nu een tekststroom of een binaire stroom wilt bewerken.

Zodra het bestand is geopend, kunt u bepalen of de stream bytegeoriënteerd is (een bytestroom) of breed georiënteerd (een brede stroom). Een stream is aanvankelijk ongebonden. Door bepaalde functies aan te roepen om op de stroom te functioneren, wordt deze bytegeoriënteerd, terwijl andere functies het wijd georiënteerd maken. Eenmaal ingesteld, behoudt een stream zijn oriëntatie totdat deze wordt gesloten door een aanroep naar fclose of freopen.

© 1989-2001 door P.J. Plauger en Jim Brodie. Alle rechten voorbehouden.

Zie ook

Tekst- en binaire stromen
Byte en brede stromen
Stromen beheren
Statussen van stromen