来自here:
这些功能的版本 _s和_p后缀是更安全的版本。这些版本验证了 格式化字符串并生成一个 格式字符串不是的异常 形成良好(例如,如果无效 使用格式化字符。)
我刚刚发现,如果格式字符串大于输出缓冲区大小,则认为格式字符串格式不正确。有没有人知道确认所有* _s打印功能的文档?
由于
答案 0 :(得分:1)
看起来默认行为是在超出输出缓冲区大小时抛出CRT错误,无论源是什么。我预计如果超出输出缓冲区大小,则会以静默方式截断输出。因此,如果格式字符串已经太长,则尝试填写格式字符串是没有意义的。