Namespaces
Variants

std:: clog, std:: wclog

From cppreference.net
< cpp ‎ | io
Definiert im Header <iostream>
extern std:: ostream clog ;
(1)
extern std:: wostream wclog ;
(2)

Die globalen Objekte std::clog und std::wclog steuern die Ausgabe an einen Streampuffer eines implementierungsdefinierten Typs (abgeleitet von std::streambuf ), der mit dem standardmäßigen C-Ausgabestream stderr assoziiert ist. Im Gegensatz zu std::cerr / std::wcerr werden diese Streams jedoch nicht automatisch geleert und cout ist nicht automatisch mit diesen Streams über tie() verbunden.

Diese Objekte sind garantiert während oder vor dem ersten Mal initialisiert, wenn ein Objekt vom Typ std::ios_base::Init konstruiert wird, und sind in den Konstruktoren und Destruktoren von statischen Objekten mit geordneter Initialisierung verfügbar (sofern <iostream> vor der Definition des Objekts eingebunden wird).

Sofern nicht sync_with_stdio ( false ) aufgerufen wurde, ist es sicher, diese Objekte gleichzeitig von mehreren Threads aus für formatierte und unformatierte Ausgabe zuzugreifen.

Hinweise

Das „c“ im Namen steht für „character“ ( stroustrup.com FAQ ); clog bedeutet „character log“ und wclog bedeutet „wide character log“.

Beispiel

#include <iostream>
struct Foo
{
    int n;
    Foo()
    {
        std::clog << "constructor\n";
    }
    ~Foo()
    {
        std::clog << "destructor\n";
    }
};
Foo f; // static object
int main()
{
    std::clog << "main function\n";
}

Ausgabe:

constructor
main function
destructor

Siehe auch

initialisiert Standard-Stream-Objekte
(öffentliche Mitgliedsklasse von std::ios_base )
schreibt in den standard C-Fehlerstrom stderr , ungepuffert
(globales Objekt)
schreibt in den standard C-Ausgabestrom stdout
(globales Objekt)
Ausdruck vom Typ FILE * assoziiert mit dem Eingabestrom
Ausdruck vom Typ FILE * assoziiert mit dem Ausgabestrom
Ausdruck vom Typ FILE * assoziiert mit dem Fehlerausgabestrom
(Makrokonstante)