C++ clog 对象
定义和用法
clog
对象用于记录有关程序状态的日志消息。它的行为与 cout
完全相同,但它可以被重定向到不同的目的地,例如日志文件。clog
和 cerr
总是写入到同一个目的地。
有关更详细的用法,请参阅 <iostream> cout 对象。
虽然 clog
和 cerr
写入到相同的目的地,但 clog
是带缓冲区的,而 cerr
不是。带缓冲区的输出会临时将输出存储在变量中,直到满足特定条件时才写入目的地。带缓冲区的输出效率更高,因为它们对文件的写操作更少。如果消息很重要,请改用 cerr
,否则如果程序崩溃,它们可能会丢失。
注意: clog
对象在 <iostream>
头文件中定义。
更多示例
示例
将 clog
重定向到文件而不是控制台
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int myNum = 12;
// Set "info.log" as the output file for the log messages
ofstream log("info.log");
clog.rdbuf(log.rdbuf());
// Write to the log file
clog << "The number " << myNum << " was given\n";
// Close the file
log.close();
return 0;
}