C ++ tette - C ++ standardbibliotek

Tetteobjektet i C ++ er et objekt av klasse ostream. Det er assosiert med standard C-feilutgangsstrøm stderr.

clogog cerrbegge er assosiert med stderr, men det skiller seg fra cerri den forstand at strømmer i cloger bufret og ikke automatisk bundet med cout.

Bufret utgang er mer effektiv enn ubuffert utgang. I tilfelle buffert utdata lagres all utdata i en variabel og skrives til disken samtidig. For ubuffert utgang må vi fortsette å skrive til disken.

Buffered output er ikke foretrukket for kritiske feil. I tilfelle systemkrasj kan det oppstå en situasjon der utdataene fremdeles var i buffer og ikke ble skrevet til disken, og feilmeldingen ikke kan hentes. Vi har ikke råd til å miste feildata i tilfelle systemkrasj, så vi fortsetter å skrive de kritiske feilene på platen, selv om de er tregere.

clogbrukes ofte til loggføringsformål. For ikke-kritisk hendelseslogging er effektivitet viktigere, så clogdet foretrekkes fremfor cerr.

tetteerklæring

 ekstern ostream tette;

Den er definert i topptekstfil "> topptekstfil.

Den cloggjenstand er sikret som skal initialiseres under eller før den første gang et objekt av typen ios_base::Initer konstruert. cloger ikke bundet til noen annen strøm.

"C" i tette refererer til "tegn", og dermed betyr tette "tegnlogg".

Tetteobjektet brukes sammen med innsettingsoperatoren (<<) for å vise en strøm av tegn. Den generelle syntaksen er:

 tette << varName;

eller

 tette << "Noen strenger";

Utvinningsoperatøren kan brukes mer enn en gang med en kombinasjon av variabler, strenger og manipulatorer (som endl):

 tette << var1 << "Noen strenger" << var2 << endl;

Eksempel: Hvordan tette fungerer?

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

I dette programmet brukes tette til å streame loggdataene fordi feilen i dette tilfellet ikke er kritisk for applikasjonen. Så bruk av bufret utgang av tette er mer effektiv

Når du kjører programmet, vil utdataene være (hvis det er feil i å åpne filen):

 Feil under åpning av filen data.txt

Interessante artikler...