最近在修复先前的源码的时候将vsprintf 都替换成vsprintf_s,发现竟然有很大一个坑在等着俺,哎!
为什么呢?因为vsprintf_s 竟然没有vsprintf 写得好!
LG2("nihao","%你好吗?");
void LG2(char const* type, char const* format, ...)
{
char buf[8192] = {0};
int len;
va_list args;
va_start(args, format);
len = vsprintf_s(buf, format, args);//因为%的原因导致了崩溃
len = vsprintf(buf, format, args);//这个函数更加安全,会将%的错误参数去掉,变成空白
va_end(args);
}版权声明:本文为mengzhisuoliu原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。