C ++ začepljenje - C ++ standardna knjižnica

Objekt začepljenja u C ++-u objekt je klase ostream. Povezan je sa standardnim izlaznim tokom pogreške C stderr.

clogi cerrobje su povezane s stderr, ali se razlikuje od toga cerru smislu da su potoci u clogbaferu i nisu automatski povezani s cout.

Međuspremni izlaz učinkovitiji je od nebuferiranog. U slučaju međuspremnika, sav se izlaz sprema u varijablu i odjednom zapisuje na disk. Za nebuferirani izlaz moramo nastaviti pisati na disk.

Me uspremljeni izlaz nije poželjan za kritične pogreške. U slučaju pada sustava, može doći do situacije da je izlaz još uvijek u međuspremniku i nije zapisan na disk, a poruka o pogrešci ne može se dohvatiti. Ne možemo si priuštiti gubitak podataka o pogreškama u slučaju pada sustava pa kritične pogreške nastavljamo upisivati ​​na disk iako je sporiji.

clogse obično koristi za sječu drva. Za nekritično zapisivanje događaja, učinkovitost je važnija pa clogje poželjno potvrditi.

deklaracija o začepljenju

 vanjski začepljeni ostream;

Definirano je u datoteci zaglavlja "> datoteka zaglavlja.

Osigurano clogje da se objekt inicijalizira tijekom ili prije prvog ios_base::Initkonstruiranja objekta tipa . clognije vezan ni za jedan drugi tok.

"C" u začepljenju odnosi se na "znak", stoga clog znači "zapisnik znakova".

Objekt začepljenja koristi se zajedno s operatorom umetanja (<<) kako bi se prikazao tok znakova. Općenita sintaksa je:

 začepiti << varName;

ili

 začepiti << "Neki niz";

Operator ekstrakcije može se koristiti više puta s kombinacijom varijabli, nizova i manipulatora (poput endl):

 začepiti << var1 << "Neki niz" << var2 << endl;

Primjer: Kako djeluje začepljenje?

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

U ovom se programu začepljenje koristi za strujanje podataka dnevnika jer pogreška u ovom slučaju nije kritična za aplikaciju. Dakle, upotreba puferiranog izlaza začepljenja je učinkovitija

Kada pokrenete program, izlaz će biti (ako postoji pogreška u otvaranju datoteke):

 Pogreška prilikom otvaranja datoteke data.txt

Zanimljivi članci...