C ++ -täppa - C ++ Standardbibliotek

Täppobjektet i C ++ är ett objekt av klass ostream. Det är associerat med standard C-felutmatningsströmstoder.

clogoch cerrbåda är associerade med stderr, men det skiljer sig från cerri den meningen att strömmarna clogär buffrade och inte automatiskt knutna till cout.

Buffrad utdata är effektivare än opuffert utdata. När det gäller buffrad utgång sparas all utdata i en variabel och skrivs till disk samtidigt. För obuffert utdata måste vi fortsätta skriva till disk.

Buffrad utdata föredras inte för kritiska fel. I händelse av systemkrasch kan det uppstå en situation där utdata fortfarande var i buffert och inte skrevs till disk och felmeddelandet inte kan hämtas. Vi har inte råd att tappa feldata i händelse av systemkrasch så vi fortsätter att skriva de kritiska felen till skivan trots att den är långsammare.

cloganvänds ofta för loggningsändamål. För icke-kritisk händelseloggning är effektivitet viktigare så det clogföredras framför cerr.

täppdeklaration

 extern ostream-täppa;

Det definieras i rubrikfil "> rubrikfil.

Det clogändamål säkerställs att initieras under eller före den första gången ett objekt av typen ios_base::Initkonstrueras. clogär inte knuten till någon annan ström.

"C" i täppan hänvisar till "tecken", därav betyder täppa "teckenlogg".

Täppobjektet används tillsammans med insättningsoperatören (<<) för att visa en ström av tecken. Den allmänna syntaxen är:

 täppa till << varName;

eller

 täppa till << "Någon sträng";

Extraktionsoperatören kan användas mer än en gång med en kombination av variabler, strängar och manipulatorer (som endl):

 täppa till << var1 << "Någon sträng" << var2 << endl;

Exempel: Hur täppa fungerar?

 #include #include using namespace std; int main() ( char fileName() = "data.txt"; ifstream infile(fileName); if(infile) cout << infile.rdbuf(); else clog << "Error while opening the file " << fileName << endl; return 0; )

I det här programmet används igensättning för att strömma loggdata eftersom felet i detta fall inte är kritiskt för applikationen. Så användning av buffrad utmatning av täppa är effektivare

När du kör programmet blir resultatet (om det finns fel när filen öppnas):

 Fel när filen data.txt öppnades

Intressanta artiklar...