„C ++“ klumpė - „C ++“ standartinė biblioteka

Clog objektas C ++ yra klasės ostream objektas. Tai siejama su standartine C klaidos išvesties srauto stderr.

clogir cerrabu yra susieti stderr, tačiau skiriasi nuo cerrta prasme, kad srautai clogyra buferiniai ir nėra automatiškai susieti cout.

Buferinė išvestis yra efektyvesnė už neparduotą išvestį. Buferinės išvesties atveju visa išvestis įrašoma į kintamąjį ir iš karto įrašoma į diską. Norėdami neišpirkti išvesties, turime toliau rašyti į diską.

Buferinis išėjimas nėra pageidaujamas dėl kritinių klaidų. Sistemos gedimo atveju gali atsirasti situacija, kai išvestis vis dar buvo buferyje ir nebuvo įrašyta į diską, o klaidos pranešimo nepavyksta atgauti. Negalime sau leisti prarasti klaidų duomenų sistemos gedimo atveju, todėl kritines klaidas nuolat rašome į diską, nors jie yra lėtesni.

clogyra paprastai naudojamas medienos ruošos tikslams. clogNekritinių įvykių registravimui svarbesnis yra efektyvumas, todėl pirmenybė teikiama ne cerr.

užsikimšti deklaracija

 išorinis ostream užkimšti;

Tai apibrėžiama antraštės faile "> header file.

clogUžtikrinamas objektas turi būti inicializuoti metu arba prieš pirmą kartą, kurio tipas objektas ios_base::Inityra sukonstruotas. clognėra pririštas prie jokios kitos srovės.

Klumpėje esantis „c“ reiškia „simbolį“, taigi klumpė reiškia „simbolių žurnalą“.

Užsikimšimo objektas naudojamas kartu su įterpimo operatoriumi (<<), kad būtų rodomas simbolių srautas. Bendroji sintaksė yra:

 užkimšti << varName;

arba

 užkimšti << "Kai kurios stygos";

Ištraukimo operatorius gali būti naudojamas daugiau nei vieną kartą kartu su kintamaisiais, eilutėmis ir manipuliatoriais (pvz. endl):

 klumpė << var1 << "Kai kurios stygos" << var2 << endl;

Pavyzdys: Kaip veikia klumpė?

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

Šioje programoje žurnalo duomenims perduoti naudojamas klumpis, nes šiuo atveju klaida nėra kritinė programai. Taigi efektyviau naudoti buferinę klumpės produkciją

Kai paleisite programą, išvestis bus (jei yra klaida atidarant failą):

 Klaida atidarant failą data.txt

Įdomios straipsniai...