vsnprintf_s 崩溃及注意事项
void LogTrace(LogLevel lv, const char* format, ...) { if (m_fnLog == nullptr) { return; } va_list ap; va_start(ap, format); char logbuff[1024]{}; int n = vsnprintf_s(logbuff, sizeof(logbuff), format, ap); va_end(ap); if (n <= 0) { return; } m_fnLog(lv, logbuff); } 实测,当格式化字符串的长度大于等于1024时,会崩溃。 改成:vsnprintf_s(logbuff, sizeof(logbuff)-1, format, ap)即可,会自动截断。