Video: files in C (Dutch spoken) 2024
Veel beginnende C ++ -programma's worden gelezen van het cin-invoerobject en uitgevoerd via het cout-uitvoerobject. Misschien heb je er niet veel over nagedacht, maar deze input / output-techniek is een subset van wat bekend staat als stream-I / O.
Stream I / O is een te groot onderwerp dat volledig in een aantal eenvoudige artikelen moet worden behandeld - hele boeken zijn gewijd aan dit ene onderwerp. Gelukkig is er niet zo veel dat je moet weten over stream I / O om de overgrote meerderheid van programma's te schrijven.
Stream I / O is gebaseerd op overbelaste versies van operator >> () en operator << () . De verklaring van deze overbelaste operators is te vinden in het bestand iostream. De code voor deze functies is opgenomen in de standaardbibliotheek, waarmee uw C ++ -programma linkt.
De volgende code toont slechts enkele van de prototypen die verschijnen in iostream :
// voor invoer die we hebben: istream & operator >> (istream & source, char * pDest); istream & operator >> (istream & source, string & sDest); istream & operator >> (istream & source, int & dest); istream & operator >> (istream & source, double & dest); // … enzovoort … // voor output hebben we: ostream & operator << (ostream & dest, char * pSource); ostream & operator << (ostream & dest, string & sDest); ostream & operator << (ostream & dest, int source); ostream & operator << (ostream & dest, dubbele bron); // … en zo gaat het …
Wanneer overloaded om I / O uit te voeren, wordt operator >> () de extractor genoemd en wordt operator << () de -invoegtoepassing genoemd. De klasse istream is de basisklasse voor invoer vanuit een bestand of een apparaat zoals het toetsenbord. C ++ opent het istream-object cin wanneer het programma start. Evenzo is ostream de basis voor output.
De bovenstaande prototypen zijn voor inserters en extractors voor pointers naar null-terminated tekenreeksen (zoals "My name"), voor string-objecten, voor ints en voor doubles.