我正在用 C++ 为我的程序编写记录器。
我有这段代码:
void Log::Write(char* logline)
{
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
m_stream << asctime (timeinfo) << logline << endl;
}
这是一个日志
2011 年 10 月 11 日星期二 13:07:28
我想像这样在一行中输出不同的内容: 2011 年 10 月 11 日星期二 13:07:28 - 这是日志
我该怎么做? 谢谢!
最佳答案
如 docs 中所述:
The string result produced by asctime contains exactly 26 characters and has the form Wed Jan 02 02:03:55 1980\n\0
所以如果你不想写行结束符号,你可以使用'write'函数来指定确切的字符数,这样写
time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );
m_stream.write( asctime (timeinfo), 24 );
m_stream << " - " << logline << std::endl;
当然在那种情况下你应该写评论解释为什么使用“24”...
关于c++ - 如何在 C++ 中连接函数 m_stream 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7723794/