std::clog, std::wclog
Определён в заголовочном файле <iostream> | ||
|---|---|---|
extern std::ostream clog; | (1) | |
extern std::wostream wclog; | (2) |
Глобальные объекты std::clog и std::wclog управляют выводом в буфер потока типа, определяемого реализацией (производного от std::streambuf), связанного со стандартным потоком вывода C stderr, однако, в отличие от std::cerr/std::wcerr, эти потоки не сбрасываются автоматически, а cout не связывается с ними автоматически с помощью tie().
Гарантируется, что эти объекты будут инициализированы во время или до первого создания объекта типа std::ios_base::Init; они доступны для использования в конструкторах и деструкторах статических объектов с упорядоченной инициализацией (при условии, что <iostream> подключён до определения объекта).
Пока не был вызван sync_with_stdio(false), эти объекты можно безопасно использовать одновременно из нескольких потоков как для форматированного, так и для неформатированного вывода.
Примечания
Буква «c» в названии означает «символ» (FAQ на stroustrup.com); clog означает «журнал символов», а wclog — «журнал широких символов».
Пример
#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";
}
Вывод:
constructor main function destructor
См. также
| инициализирует стандартные потоки (открытый класс-член std::ios_base) |
|
записывает в стандартный поток ошибок C stderr без буферизации(глобальный объект) |
|
записывает в стандартный поток вывода C stdout(глобальный объект) |
|
| выражение типа FILE*, связанное с потоком ввода выражение типа FILE*, связанное с потоком вывода выражение типа FILE*, связанное с потоком вывода ошибок (макроконстанта) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/clog