Zamašitev C ++ - standardna knjižnica C ++

Objekt zamašitve v jeziku C ++ je objekt razreda ostream. Povezan je s standardnim izhodnim tokom napake C stderr.

clogin cerroba sta povezana z stderr, vendar se razlikuje od tega cerrv tem smislu, da so tokovi v clogmedpomnilniku in niso samodejno povezani z cout.

Predpomnjeni izhod je učinkovitejši od nebuferiranega izhoda. V primeru medpomnjenega izhoda je ves izhod shranjen v spremenljivko in zapisan na disk hkrati. Za nebuferirani izhod moramo še naprej zapisovati na disk.

Vmesni izhod ni zaželen za kritične napake. V primeru sesutja sistema lahko pride do situacije, ko je bil izhod še vedno v medpomnilniku in ni bil zapisan na disk, sporočila o napaki pa ni mogoče pridobiti. Ne moremo si privoščiti izgube podatkov o napakah v primeru zrušitve sistema, zato kritične napake še naprej zapisujemo na disk, čeprav je to počasneje.

clogse pogosto uporablja za sečnjo. Za nekritično beleženje dogodkov je bolj pomembna učinkovitost, zato clogje raje kot cerr.

zamašitev

 zunanji zamašek ostream;

Določen je v datoteki glave "> datoteka glave.

Zagotovljeno clogje, da se objekt inicializira med ali pred prvim ios_base::Initkonstruiranjem objekta tipa . clogni vezan na noben drug tok.

"C" v zamašitvi se nanaša na "znak", zato zamašek pomeni "dnevnik znakov".

Predmet zamašitve se uporablja skupaj z operatorjem vstavljanja (<<) za prikaz toka znakov. Splošna sintaksa je:

 zamaši << varName;

ali

 zamaši << "Nekateri niz";

Operator ekstrakcije je mogoče večkrat uporabiti s kombinacijo spremenljivk, nizov in manipulatorjev (na primer endl):

 zamaši << var1 << "Nekateri niz" << var2 << endl;

Primer: Kako deluje zamašitev?

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

V tem programu se zamašek uporablja za pretakanje podatkov dnevnika, ker napaka v tem primeru ni kritična za aplikacijo. Torej je uporaba puferskega izpuščaja zamaška učinkovitejša

Ko zaženete program, bo rezultat (če pride do napake pri odpiranju datoteke):

 Napaka pri odpiranju datoteke data.txt

Zanimive Članki...