atof() 用于 float 而不是 double

Elm*_*lmi 7 c atof ansi-c

atof() 返回一个双精度值,当我将它分配给一个浮点值时会产生一个警告(是的,我绝对必须使用浮点数)。

所以我的问题是:是否有一个atof()-variant 可用,它返回一个普通的浮点数?或者我是否必须通过演员表来解决这个问题 - 这会很遗憾,因为它浪费了资源来创建一个会立即被丢弃的替身。

Hen*_*son 5

改用strtof它,它将返回一个浮点数。

请参阅此处的文档

  • 问题被标记为 [ansi-c]。根据 [this reference](http://en.cppreference.com/w/c/string/byte/strtof) `strtof` 是在 C99 中添加的,因此编译器可以决定该函数是否存在。(顺便说一句,www.cplusplus.com 是 C 问题的糟糕参考) (2认同)