Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Visual Studio 4.0中使用标准模板库 我试图用Visual C++工作室4版编写一些代码。_C++_Visual Studio_Stl_Legacy App - Fatal编程技术网

在Visual Studio 4.0中使用标准模板库 我试图用Visual C++工作室4版编写一些代码。

在Visual Studio 4.0中使用标准模板库 我试图用Visual C++工作室4版编写一些代码。,c++,visual-studio,stl,legacy-app,C++,Visual Studio,Stl,Legacy App,我知道我需要为这段代码使用标准模板库,这里是编译器因错误而停止的地方: #include <fstream> #包括 致命错误C1083:无法打开包含文件:“fstream”:没有此类文件或目录 查看编译器安装盘,STL文件没有随编译器一起安装,但我找到了安装盘上的子目录。我从未使用过STL,也不确定文件的确切位置。现在,我已经将它们放在源文件的一个子目录中,并将该目录添加到Build->Settings->Resources->Additional Resource Inclu

我知道我需要为这段代码使用标准模板库,这里是编译器因错误而停止的地方:

#include <fstream>
#包括
致命错误C1083:无法打开包含文件:“fstream”:没有此类文件或目录

查看编译器安装盘,STL文件没有随编译器一起安装,但我找到了安装盘上的子目录。我从未使用过STL,也不确定文件的确切位置。现在,我已经将它们放在源文件的一个子目录中,并将该目录添加到Build->Settings->Resources->Additional Resource Include目录。还要注意,STL目录中没有名为fstream或fstream.h的文件

在read.me中,有以下注释:

(1)STL是C++标准的容器、迭代器、算法部分 库,它不是完整的标准库。(I/O流、字符串、, 等不包括在本包中。)


所以我有点困惑——我是否需要在某个地方获取额外的源文件,或者我应该如何继续?谢谢你的帮助

> Visual C++ 4是<强>旧> 。它不能正确地支持STL。您应该至少使用VC++6.0(它至少支持大部分),或者更好地使用VC++2005或2008 express Edition。或者您可以使用GNUG++编译器(通过MinGW),它可以很好地实现STL


<> Pc>在VC++ 4的时候,C++没有标准化(STL是C++标准库的子集),所以它不支持大多数STL特征或实现非标准版本。从4.0开始,即使是一个古老版本的STL也需要很多变通方法来模拟工作。4.2b包含了一个适合编译器的版本(据我回忆,还有很多其他的修复)。不幸的是,4.2b可能很难找到--它只发送给购买订阅的用户。我没有任何像以前那样的东西,但我记得旧的STL Include仍然有.h扩展名,试试看。由于它的简单性和低开销,您也会遇到大量不符合古代标准的情况,这将使使用21世纪的最佳实践变得非常困难……VC++4.0是以94或95的形式发布的。这比标准化早了几年。你不会在C++中编码,因为它现在存在,所以如果你坚持这个“简单”,你就要把你的头撞到墙上了。如果你不想要复杂的环境,在记事本中编码,用当前版本编译……它是免费的,你知道。看起来我会升级,谢谢大家的帮助。似乎Visual Studio 2010 Express是免费的,所以我将尝试一下。STL!=标准图书馆。STL==标准模板库,标准库的子集。我知道。但由于标准库没有标准化,而且STL是标准库的子集,这意味着STL也没有标准化。