我是C菜鸟,我发现atoi已被弃用,而不是strtol等。
在哪里可以找到已弃用的C函数列表?
答案 0 :(得分:2)
不安全和已弃用之间存在差异。 atoi()
是不安全的,但是gcc不会告诉你停止使用它,因为它很危险。使用gets()produces a different result :) YCMV(您的编译器可能会有所不同)。
通常,如果函数可能失败并且无法进行错误检查,请不要使用它。如果函数允许您写入内存区域而无法通过大小限制,请不要使用它。
后者更容易通过函数原型来确定。但是,如果你有点意识到自己在做什么,你很快就会意识到你无法知道你从atoi()
得到的东西是否真的是用户刚进入的结果的字符串表示。命令行。
这个基本原理完全不是标准C库的专有。你会遇到很多很多的库代码,有些很好。没有列表可以取代学习的,防御性的编码习惯。