C++ clog 对象
定义和用法
clog 对象用于记录有关程序状态的消息。它的行为与 cout 相同,但可以将输出定向到不同的目标,如日志文件。clog 和 cerr 总是写入相同的目标位置。
有关更详细的用法,请参阅 <iostream> 中的 cout 对象。
虽然 clog 和 cerr 写入相同的目标位置,但 clog 是带缓冲的,而 cerr 不是。带缓冲的输出会暂时将输出存储在变量中,直到满足某些条件时才写入目标位置。带缓冲的输出更高效,因为它们对文件执行的写入操作更少。如果消息很重要,请使用 cerr,否则如果程序崩溃,这些消息可能会丢失。
注意:clog 对象在 <iostream> 头文件中定义。
实例
例子 1
使用 clog 对象输出日志消息:
int myNum = 12; clog << "给定了数字 " << myNum << "\n";
例子 2
将 clog 的输出定向到文件而不是控制台:
#include <iostream>
#include <fstream>
using namespace std;
int main() {
int myNum = 12;
// 将 "info.log" 设置为日志消息的输出文件
ofstream log("info.log");
clog.rdbuf(log.rdbuf());
// 写入日志文件
clog << "给定了数字 " << myNum << "\n";
// 关闭文件
log.close();
return 0;
}