来自这里
这些带有_s和_p后缀的函数的版本是更安全的版本。这些版本验证格式字符串,如果格式字符串格式不正确,将生成异常(例如,如果使用了无效的格式化字符)。
我刚刚发现,如果格式字符串大于输出缓冲区大小,则认为它的格式不太好。有人知道关于所有*_s打印函数的确认文档吗?
谢谢
发布于 2010-12-20 17:47:37
看起来,默认行为是在超出输出缓冲区大小时抛出CRT错误,而不管源是什么。如果超出输出缓冲区大小,我预期输出将被静默截断。因此,如果格式字符串已经太长,则尝试填充它是没有意义的。
https://stackoverflow.com/questions/4492161
复制相似问题