C ++ dugulás - C ++ Standard Library

A C ++ - ban lévő eltömődési objektum osztály ostream objektuma. A szabványos C hiba kimeneti adatfolyam stderrhez van társítva.

clogés cerrmindkettő társítva van stderr, de abban cerraz értelemben különbözik, hogy a beáramló csatornák clogpufferolva vannak, és nem kapcsolódnak hozzájuk automatikusan cout.

A pufferelt kimenet hatékonyabb, mint a nem pufferelt kimenet. Pufferelt kimenet esetén az összes kimenetet egy változóba menti és egyszerre lemezre írja. A nem csomagolt kimenethez folytatnunk kell a lemezre írást.

A pufferelt kimenet nem előnyös a kritikus hibák esetén. Rendszerösszeomlás esetén előfordulhat olyan helyzet, hogy a kimenet még mindig pufferben volt, és nem íródott lemezre, és a hibaüzenetet nem lehet lekérni. Nem engedhetjük meg magunknak, hogy rendszerhibák esetén elveszítsük a hibaadatokat, ezért a kritikus hibákat a lemezre írjuk, annak ellenére, hogy lassabbak.

clogáltalában fakitermelés céljából használják. A nem kritikus eseménynaplózásnál fontosabb a hatékonyság, ezért cloga cerr helyett ez az előnyös.

eldugulási nyilatkozat

 extern ostream dugulás;

A "header file"> header fájlban van meghatározva.

Az clogobjektum inicializálása biztosított egy típusú objektum első ios_base::Initépítése során vagy azelőtt . clognincs kötve más folyamhoz.

Az eltömődött "c" a "karakterre" utal, ezért az eltömődés "karakternaplót" jelent.

Az eltömődési objektumot a beszúrás operátorral együtt használják (<<) a karakterfolyam megjelenítéséhez. Az általános szintaxis:

 dugulás << varName;

vagy

 dugulás << "Some String";

Az extrakciós operátor többször is használható változók, húrok és manipulátorok (például endl) kombinációjával :

 dugulás << var1 << "Néhány karakterlánc" << var2 << endl;

Példa: Hogyan működik az eltömődés?

 #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; )

Ebben a programban a clogot használják a naplóadatok streamelésére, mert a hiba ebben az esetben nem kritikus az alkalmazás számára. Tehát a pufferolt puffer kimenet használata hatékonyabb

A program futtatásakor a kimenet a következő lesz (ha hiba történt a fájl megnyitása során):

 Hiba történt a data.txt fájl megnyitásakor

érdekes cikkek...