atof(), sscanf()的区别

在使用 Microsoft C 或 C/C++ 开发的应用程序中,sscanf() 函数可以很好地替代 atof() 函数,将数字字符串转换为浮点数。如果字符串表示的数无效,atof() 将返回零值,而 sscanf() 会返回更多有用的错误信息。应用程序可以将 sscanf() 返回的错误值用于 matherr() 函数以执行错误处理。除非真正发生了数学异常,否则 atof() 函数不会调用 matherr()。

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

你可能感兴趣的:(atof(), sscanf()的区别)