注册 登录
编程论坛 C++教室

清屏函数问题。

gyx8899 发布于 2010-03-09 18:12, 3905 次点击
为什么使用using namespace std情况下,#include<windows.h>后缀.h去掉后有问题,是怎么回事?
#include<iostream>
//#include<stdlib.h>
#include<windows.h>
using namespace std;
void main()
{
cout<<"测试清屏"<<endl;
cout<<"按任意键清屏 ";
system("pause");
system("cls");
}
去掉.h后。错误信息为:fatal error C1083: Cannot open include file: 'windows': No such file or directory
6 回复
#2
floppyfuck2010-03-09 19:25
应为 你用了using namespace std了!你可能不明白它的意思,如果你用了它就必须把你所有的程序字符写的很是到位!
#3
cnfarer2010-03-09 22:00
难道不用using namespace std时就能用windows头文件?VC中好像只有windows.h没有windows,而既有iostream也有iostream.h!
#4
gyx88992010-03-09 22:12
回复 2楼 floppyfuck
什么叫到位,请举例解释一下。谢了。
#5
Alar302010-03-10 08:50
以下是引用gyx8899在2010-3-9 22:12:33的发言:

什么叫到位,请举例解释一下。谢了。
同问。。。
#6
quietstar2010-03-10 11:30
回复 楼主 gyx8899
这个跟using namespace std这句没有关系。因为你用到了system这个函数,而这个函数是在windows.h这个文件里面命名的,所以要包含它。另外,系统中并没有windows这个文件,所以编译时出现了错误提示。楼主可能不是很清楚为什么有时候要加.h,有时候为什么不加,我稍微解释一下吧:最新的c++标准明确C++风格的头文件不包含后缀.h,c风格的就有包含后缀;例如:当使用<iostream.h>时,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,采取的是最新的c++标准,该头文件没有定义全局命名空间,必须使用namespace std,这样才能正确使用cout、cin等等。
#7
秀痘魔导士2010-03-10 13:00
以下是引用floppyfuck在2010-3-9 19:25:58的发言:

应为 你用了using namespace std了!你可能不明白它的意思,如果你用了它就必须把你所有的程序字符写的很是到位!
能不要误导吗?
1