2

我是 C++ 的初学者,我是来学习的。

首先,我在学校用 Borland C++ 编写了一些程序,但我的学校没有 Visual C++,也没有人教我如何用 Visual C++ 编程。

问题是,当我尝试将链接器子系统(项目设置)更改为 Windows(/SUBSYSTEM:WINDOWS)时,我在输出窗口中得到了这个:

1>------ Build started: Project: hew, Configuration: Debug Win32 ------
1>  main.cpp
1>c:\users\mxmike\documents\visual studio 2010\projects\hew\main.cpp(1): fatal
error C1083: Cannot open include file: 'iostream.h': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

我的代码非常简单:

#include <iostream.h>
#include <stdlib.h>

int main(int f)
{
    int i=1;
    return 1;
}

我只是不明白。有人会这么好心给我解释吗?
感谢您的阅读!

4

2 回答 2

3

没有<iostream.h>标题。I/O 的标准库头文件是<iostream>. 没有一个 C++ 标准库头文件以.h.

确实存在的以结尾的头文件.h来自 C 标准库。因此,例如,<stdlib.h> 一个 C 标准库头文件。C++ 标准确实使这些头文件可用,但它也提供了自己的替代品,其内容几乎相同。只需删除并在开头.h添加一个。c所以 C++ 版本<stdlib.h><cstdlib>.

你是否真的需要其中的内容<stdlib.h>或者<cstdlib>是另一回事。大多数功能都改进了 C++ 特定标头中的 C++ 对应项。例如,这些 C 头文件提供malloc,但您应该new在 C++ 中使用 - 表达式。

另请注意,返回通常是失败的标志1main要指示成功执行,请return 0;改为执行。

于 2013-04-04T20:33:53.120 回答
1

C++ 中有两种标准类型的头文件。那些从 C 派生的,例如 <stdlib.h>,它在 C++ 中应该包含在 <cstdlib> 中(去掉 .h 并以 ac 为前缀)和那些像 <iostream> 这是一个替换 C++ 的 C++ 头文件<stdio.h>。

你想要的是:

#include <cstdio>
#include <cstdlib>

或者

#include <iostream>
#include <cstdlib>

取决于您在代码中调用的功能/功能(如果您不提供任何功能,那么两者都应该工作)。

问候,

杰森·波西特

于 2013-04-04T20:38:47.403 回答