C++ VS2012中的strof()在哪里?

C++ VS2012中的strof()在哪里?,c++,visual-studio,visual-studio-2012,C++,Visual Studio,Visual Studio 2012,我几乎找不到这个函数在哪个库/头中,我看过很多使用这个函数的人的例子,但是没有结果。。。 这些都是我包含的内容: #include "Console.h" #include "Direct3D9.h" #include <string> #include <cerrno> #include <cstdlib> #include <iostream> #include <algorithm> #include <math.h>

我几乎找不到这个函数在哪个库/头中,我看过很多使用这个函数的人的例子,但是没有结果。。。 这些都是我包含的内容:

#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> 
1包括stdlib.h 从

如果这仍然不起作用

2确保您的编译器是C++11或更新版本 从C++11开始,它是新的,所以如果你有一个旧的编译器,它将无法工作

如果这仍然不起作用

3您的编译器可能不支持它

Visual C++ 2012对C++ 11标准没有完全支持。请参阅VisualStudio错误

我们在CRT中还没有这些功能。我们将考虑将它们添加到Visual C++的未来版本。 1包括stdlib.h 从

如果这仍然不起作用

2确保您的编译器是C++11或更新版本 从C++11开始,它是新的,所以如果你有一个旧的编译器,它将无法工作

如果这仍然不起作用

3您的编译器可能不支持它

Visual C++ 2012对C++ 11标准没有完全支持。请参阅VisualStudio错误

我们在CRT中还没有这些功能。我们将考虑将它们添加到Visual C++的未来版本。 使用C++11时,可以在cstdlib中找到它。信息可在此处轻松找到:

我猜您不是在使用c++11进行编译。

使用c++11时,您可以在cstdlib中找到它。信息可在此处轻松找到:


我的猜测是您没有使用c++11进行编译。

Visual Studio 2012没有实现strof


其中包括一个建议的解决方法。

Visual Studio 2012未实现strof



其中包括一个建议的解决方法。

它仍然不是std的一部分。它说它应该是cstdlib的一部分,但在打开文档时没有strof:/正如参考文献中提到的那样,您需要完全支持和检测c编译器的C99标准功能。strof是1999年标准添加到c中的,并以C++为2011标准。用strtof代替;它返回一个可以轻松转换为float的双精度结果。如有必要,可以添加范围检查。或者你可能只想使用双,而不是浮动。你试过C++版本吗?看起来您仍然有一个std::字符串,它直接将其作为参数,无需调用c_str。它仍然不是std的一部分。它说它应该是cstdlib的一部分,但在打开文档时,没有strof:/正如参考文献中提到的,您需要c编译器的C99标准功能完全支持和检测。strof是根据1999年的标准添加到c中的,并以C++为2011标准。用strtof代替;它返回一个可以轻松转换为float的双精度结果。如有必要,可以添加范围检查。或者你可能只想使用双,而不是浮动。你试过C++版本吗?看起来你有一个std::string,它直接作为一个参数,不需要调用c_str。是的,但对我来说不在cstdlib中,例如,如果我打开cstdlib文档,它不在那里,有任何更改吗?有人有它的原始函数吗?这些是cstdlib中对我来说唯一可用的strto函数:使用ucstd strod;使用_cstdstrtol;使用_cstdstrtoul@奥斯卡见编辑。如果你没有看到它,那么你必须有一个比C++11旧的编译器。我正在使用Visual studio 2012,这还不够新吗?@OskarDahlberg,这还不够新吗?我们现在有了Visual Studio 2015。2012年是陈年,让我们说,作为良好的老葡萄酒,没有任何新鲜的色调。GCC 4.8或更旧版本也是如此。是的,但对我来说不在cstdlib中,例如,如果我打开cstdlib文档,它不在那里,任何更改都有原始函数吗?这些是cstdlib中对我来说唯一可用的strto函数:使用ucstd strod;使用_cstdstrtol;使用_cstdstrtoul@奥斯卡见编辑。如果你没有看到它,那么你必须有一个比C++11旧的编译器。我正在使用Visual studio 2012,这还不够新吗?@OskarDahlberg,这还不够新吗?我们现在有了Visual Studio 2015。2012年是陈年,让我们说,作为良好的老葡萄酒,没有任何新鲜的色调。GCC 4.8或更旧版本也是一样。顺便说一句,我使用的是Visual studio 2012。我使用的是Visual studio 2012。因此,您是否可以获得它们,可能是它如何工作的原始函数?我找不到如何实现strof的任何链接。他们建议改用函数_atoldbl。您是否可以获得它们,也许是一个关于它如何工作的原始函数?我找不到任何关于如何实现strtof的链接。他们建议使用函数_atoldbl
 flValue = std::strtof( vszArgs.at( 1 ).c_str( ), NULL );
 pConVar->Set( flValue );
#include <stdlib.h>     /* strtof */