Ummistusobjekt C ++ -s on klassi ostream objekt. See on seotud standardse C vea väljundvoo stderriga.
clog
ja cerr
mõlemad on seotud stderr
, kuid see erineb cerr
selles mõttes, et voogudes clog
on puhverdatud ega ole automaatselt seotud cout
.
Puhverdatud väljund on tõhusam kui pakkimata väljund. Puhverdatud väljundi korral salvestatakse kogu väljund muutujasse ja kirjutatakse korraga kettale. Pakendamata väljundi jaoks peame kirjutama kettale.
Puhverdatud väljundit ei eelistata kriitiliste vigade korral. Süsteemi krahhi korral võib tekkida olukord, kus väljund oli endiselt puhvris ja seda ei olnud kettale kirjutatud ning tõrketeadet ei saa tuua. Me ei saa lubada süsteemi krahhi korral veaandmete kaotamist, seega kirjutame kriitilised vead plaadile, kuigi see on aeglasem.
clog
kasutatakse tavaliselt metsaraie eesmärgil. Mittekriitiliste sündmuste logimisel on olulisem efektiivsus, seega clog
eelistatakse seda cerr-le.
ummistuse deklaratsioon
välimine ostreami ummistus;
See on määratletud päisefailis "> päisefail.
clog
On kindlustatud lähtestada ajal või enne esimest korda objekti tüübiga ios_base::Init
on ehitatud. clog
pole ühegi teise vooga seotud.
"Cl" ummistuses viitab "tähemärgile", seega tähendab ummistus "märgilogi".
Ummistusobjekti kasutatakse koos sisestusoperaatoriga (<<) tähemärkide voo kuvamiseks. Üldine süntaks on:
ummistama << varName;
või
ummistus << "Some String";
Ekstraheerimisoperaatorit saab kasutada mitu korda koos muutujate, stringide ja manipulaatorite (näiteks endl
) kombinatsiooniga :
ummistus << var1 << "Mõni string" << var2 << endl;
Näide: Kuidas ummistus töötab?
#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; )
Selles programmis kasutatakse logi andmete voogesitamiseks ummistust, kuna antud juhul pole viga rakenduse jaoks kriitiline. Seega on puhverdatud ummistuse kasutamine tõhusam
Programmi käivitamisel on väljund (kui faili avamisel on viga):
Viga faili data.txt avamisel