【发布时间】:2015-05-28 22:46:33
【问题描述】:
我几乎找不到这个函数在哪个库/头文件中,我看过很多人使用这个函数的例子,但没有结果...... 这些是我包含的所有内容:
#include "Console.h"
#include "Direct3D9.h"
#include <string>
#include <cerrno>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <math.h>
#include <cmath>
#include <stdio.h>
#include <stdlib.h>
但仍然出现 strtof,因为“错误命名空间“std”没有成员“strtof””
我正在尝试做的事情:
flValue = std::strtof( vszArgs.at( 1 ).c_str( ), NULL );
pConVar->Set( flValue );
【问题讨论】:
-
它仍然不是标准的一部分。它说它应该是 cstdlib 的一部分,但是打开文档时没有 strtof :/
-
正如参考文献所述,您需要完全支持和检测您的 c 编译器的 C99 标准功能。
-
strtof被 1999 年标准添加到 C 中,并被 2011 年标准添加到 C++ 中。只需改用strtof;它返回一个double结果,可以很容易地转换为float。如有必要,您可以添加范围检查。或者您可能只想使用double而不是float。 -
你试过
std::stof,C++ 版本吗?无论如何,您似乎有一个std::string,它直接将其作为参数(无需调用c_str())。
标签: c++ visual-studio visual-studio-2012