为什么" cout"继续给我错误C1083?

时间:2014-11-28 09:39:26

标签: c++ visual-c++

我刚刚使用Visual C ++ 6.0,并且我一直收到此错误:

致命错误C1083:无法打开包含文件:'streambuf':没有这样的文件或目录

我的代码只是一个简单的hello world程序。

#include "stdafx.h"
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
    cout<<"Hello World.";
    return 1;
}

然后我去检查了我的INCLUDE文件夹并找到了一个名为STREAMBF的文件,但编译器正在寻找STREAMBUF。请注意,存在的文件在B和F之间缺少U.这是来自VC ++ 6.0的好副本,直接来自实际CD,而不是盗版副本。所以应该有所有需要的文件。但似乎缺少一个文件!这个MS是否再次愚蠢,但又犯了一个大错误,忘记在CD上包含一个重要的文件?我不愿意认为从MS工厂出来的VC ++ 6.0的每张CD都有这个问题。而且我知道它是一个丢失的文件,而不仅仅是一个名不副实的文件,因为将STREAMBF重命名为STREAMBUF只会导致更多错误。

有人知道我在哪里可以找到STREAMBUF文件的副本吗?或者我只是在这里俯瞰一些东西?这个确切的错误是在Windows 7等现代操作系统上运行VC ++旧版本的已知问题吗?是否有可能它正在寻找STREAMBUF的唯一原因是这是一个与Win7相关的较新文件,如果它在不同的环境(较旧的操作系统)中运行,它实际上是在寻找正确的文件,STREAMBF ?有人可以帮助我吗?

3 个答案:

答案 0 :(得分:1)

您的安装已被破坏,已弃用或以错误的方式解释您的代码 如果您正在尝试构建完全针对此版本开发的项目,则应该只使用较旧的编译。

尝试使用新编译器编译相同的代码,如果您想使用VS,那么您应该寻找Visual Studio Express 2013.

您的代码没有任何错误。

答案 1 :(得分:0)

修改你的程序,你应该可以看到它。

#include <iostream.h>
using namespace std;

int main()
{
    cout<<"Hello World.";
    return 1;
}

然而, 你的编译器很老了。你需要升级。

答案 2 :(得分:0)

对于我的 VC 6.0 的 win 10 安装,我遇到了同样的问题...致命错误 C1083:无法打开包含文件:'streambuf':没有这样的文件或目录 替换为 并不能解决问题。 我检查了头文件安装文件夹(Program files\VS98\VC98\INCLUDE)。由于某些(未知)原因,某些文件名在安装过程中已更改。恢复原来的名字已经解决了这个问题,在我的例子中,例如: 把STREAMBF变成STREAMBUF,把STDXCEPT变成STDEXCEPT,把XCEPTION变成EXCEPTION,把FCTIONAL变成FUNCTIONAL。 注意:其他头文件名可能有误。我在上面列出了我安装中错误的文件名。 我希望这会有所帮助。