- <iostream.h> & <iostream>
Why the following code can’t be built in VC 2017?
#include <iostream.h>
int main()
{
cout<<“Hello World.”<<endl;return 0;
}
fatal error C1083: No such file or directory
造成这个错误的原因在于历史原因,在过去C++98标准尚未订立的时候,C++的标准输入输出流确实是定义在这个文件里面的,这是C风格的定义方法,随着C++98标准的确定,iostream.h已经被取消,至少在VC2017下面是这样的,取而代之的是我们要用头文件来代替,你甚至可以认为是这样定义的:
namespace std
{
#include “iostream.h”
}
因此我们可以简单的修改我们的Hello World.
#include <iostream>
using namespace std;
int main()
{
cout<<“Hello World.”<<endl;
return 0;
}
iostream.h是属于C++的头文件,而非C的,因此标准订立的时候被改成了。而C的头文件stdio.h等依然可以继续使用,这是为了兼容C代码。但是它们依然有对应的C++版本,如 等。记住,在VC2017上面采用C++风格的头文件而不是C风格的头文件,除非你是在用C。