atof(), sscanf()的区别

来源:互联网 发布:java项目业务流程 编辑:程序博客网 时间:2024/05/16 07:30
在使用 Microsoft C 或 C/C++ 开发的应用程序中,sscanf() 函数可以很好地替代 atof() 函数,将数字字符串转换为浮点数。如果字符串表示的数无效,atof() 将返回零值,而 sscanf() 会返回更多有用的错误信息。应用程序可以将 sscanf() 返回的错误值用于 matherr() 函数以执行错误处理。除非真正发生了数学异常,否则 atof() 函数不会调用 matherr()。

下文提供了两种将字符串转换为浮点数的推荐办法。 • 在调用 atof() 函数前验证要转换的字符串。确保字符串中不包含任何非数值字符,而且小数点和正负号的位置都正确。 • 使用 sscanf() 函数。它比 atof() 函数慢,但在发生错误时可以提供更详细的信息。  
原创粉丝点击