我正在用 C++ 编写记录器并简化输入行我使用 vsnprintf 函数来构建日志行
void CLogger::RegManLog(const LogLevel & logLevelMask, char * Format, ...)
...
...
va_start(marker_, Format);
vsnprintf(buffer_ ,MaxLogBuffSize , Format, marker_)
va_end(marker_);
printer_ += buffer_;
...
...
一切都很好,直到我不小心在字符串中输入了一个数字
整数测试 = 10;例如:“现在我将显示一个字符串 %s”,测试
试图添加“try and catch”,但我认为 vsnprintf 确实有 throw,所以它会以任何方式崩溃。试图从 vsnprintf 获取返回值,它返回值,而字符串很好,当遇到相同的问题时,它会崩溃
我有什么想法可以解决这个问题吗?
谢谢