scanf_s 比起 scanf 添加了什么?

scanf_s 比起 scanf 添加了什么?

scanf_s 几乎没有比 scanf 更加安全,除了空指针的检测。而且 scanf 本身也能做边界检查的。

说实话,若最后一条的 128 被写成过大的数也不安全。

个人看来 _s 系列最大的功能就是调用报错函数,可能可以简化一些报错的流程。

(

)

有点怀疑 _s 系列的用法是——

别人传来一个莫名其妙的指针/长度/输入内容,然后你直接就把它传到 _s 系列函数里去,不过之前要写对边界。

接下来等着一个统一的报错流程就行了。

另外 qsort_s 和 bsearch_s 有个 context 参数,疑是让人把 C++ 的函数对象传进去的…

就像这样:

……纯 C 的话不知有没有这种习惯,C++ 里这么做怎么看都很诡异就是。