在Windows中,应该包含哪个库来使用stdlib.h函数?

3

我来自Mac的世界,对于Windows开发还很陌生。非常简单的问题:在Visual Studio 2010中,我需要包含哪些库才能访问一些基本的函数,比如strtof()或snprintf()?我的链接器报告这些错误...#include <stdlib.h><ctype.h><string.h>


1
http://msdn.microsoft.com/en-us/library/abx4dbyh.aspx - indiv
strtofsnprintf 都是 C99 函数,而 Visual Studio 的 C 编译器不支持 C99。在 <stdio.h> 中有一个 _snprintf 函数,它与 C99 的 snprintf 有所不同。 - wkl
1个回答

5

MSVC不支持C99,只对旧版本的C标准提供了半数支持。snprintfstrtof是C99中新增的函数,因此不可用。


它只支持旧版本的一半?它不支持C89的哪些部分? - Adam Rosenfield
关于C89,我记得有一些预处理器错误,但我不确定。至于后来的94/95修正案,在MSVC上尝试wprintf(L"%s\n", "hello");... - R.. GitHub STOP HELPING ICE
哦,我没意识到在94/95年有修正案,我以为所有这些东西都是在C99之后才添加的。当然,我可以理解它们与这些修正案不兼容,但据我所知它们符合C89标准。 - Adam Rosenfield
wchar_t及其相关函数已经添加,但微软把它们搞砸了。:-) 我认为可能存在一些C89兼容性问题,但可能不比glibc更糟糕。 - R.. GitHub STOP HELPING ICE

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接