vsprintf,vsprintf_s

最近在修复先前的源码的时候将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版权协议,转载请附上原文出处链接和本声明。