我正在用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确实抛出了异常,因此无论如何都会崩溃。
试图从vsnprintf获取返回值,它返回值,虽然字符串还可以,但是在遇到相同问题时崩溃
我有什么想法可以解决这个问题吗?
谢谢
最佳答案