如#include "windows.h",如果写成#include"windows"编译会出错,
又如:#include"vector",如果写成#include"vector.h"编译会出错.
而#include"iostream"和#include"iostream.h"编译都不会出错.
望高手赐教!!!
7 个解决方案
#1
不带.h的是 stl库
#2
#include 后面只要跟的是一个文件名字就可以
做为约定,头文件一般叫.h
但你可以可以叫别的,比如stl的库文件就没后缀
如果你喜欢,你可以写个叫 aa.txt
的文件
然后include “aa.txt”
做为约定,头文件一般叫.h
但你可以可以叫别的,比如stl的库文件就没后缀
如果你喜欢,你可以写个叫 aa.txt
的文件
然后include “aa.txt”
#3
带h是c语言头文件,不带是C++头文件
#4
>如#include "windows.h",如果写成#include"windows"编译会出错,
因为windows.h是一个实际存在的文件, 而实际上没有名为windows的文件.
你应该可以在你的 VC6\Include\ 下找到它们
>又如:#include"vector",如果写成#include"vector.h"编译会出错.
>而#include"iostream"和#include"iostream.h"编译都不会出错.
同样, 有名字叫vector的头文件,但没有叫vector.h的文件.
很奇怪,对吧? 一会有扩展名,一会没有.但事实情况就是这样.
一般 标准C++的头文件都是不带.h的, 比如
#include<vector>
#include<list>
#include<iostream>
而C的头文件一般是带.h的.
为啥C++不也带.h呢, 因为C++标准规范出台的比较晚,
在其之前,翻译器出产商根据C++草案提供很多并不规范的库,
占用的头文件就是vector.h, iostream.h这样的名字,
为了避免和它们冲突,标准用了vector, iostream这样无后缀名字,
>>望高手赐教!!!
解释完毕, :p
#5
看看c++ primer 自己就知道了
#6
楼上"roadtang() "说的太对了.
#7
#include 里的文件是确定存在的。
如:
windows.h存在,而windows不存在时,include <windows.h>是对的,而include <windows>则是错误的。
另外,VC6出来时,C++标准还未定型,所以VC6使用<vector.h>这类带.h的头文件。
C++标准出来之后,STL文件都以没有扩展名的文件存在。
顺便说一下,VC6发布先于C++标准,因此,它对STL等的支持并不完整和规范,建议使用VC7或以上版本的IDE。
如:
windows.h存在,而windows不存在时,include <windows.h>是对的,而include <windows>则是错误的。
另外,VC6出来时,C++标准还未定型,所以VC6使用<vector.h>这类带.h的头文件。
C++标准出来之后,STL文件都以没有扩展名的文件存在。
顺便说一下,VC6发布先于C++标准,因此,它对STL等的支持并不完整和规范,建议使用VC7或以上版本的IDE。
#1
不带.h的是 stl库
#2
#include 后面只要跟的是一个文件名字就可以
做为约定,头文件一般叫.h
但你可以可以叫别的,比如stl的库文件就没后缀
如果你喜欢,你可以写个叫 aa.txt
的文件
然后include “aa.txt”
做为约定,头文件一般叫.h
但你可以可以叫别的,比如stl的库文件就没后缀
如果你喜欢,你可以写个叫 aa.txt
的文件
然后include “aa.txt”
#3
带h是c语言头文件,不带是C++头文件
#4
>如#include "windows.h",如果写成#include"windows"编译会出错,
因为windows.h是一个实际存在的文件, 而实际上没有名为windows的文件.
你应该可以在你的 VC6\Include\ 下找到它们
>又如:#include"vector",如果写成#include"vector.h"编译会出错.
>而#include"iostream"和#include"iostream.h"编译都不会出错.
同样, 有名字叫vector的头文件,但没有叫vector.h的文件.
很奇怪,对吧? 一会有扩展名,一会没有.但事实情况就是这样.
一般 标准C++的头文件都是不带.h的, 比如
#include<vector>
#include<list>
#include<iostream>
而C的头文件一般是带.h的.
为啥C++不也带.h呢, 因为C++标准规范出台的比较晚,
在其之前,翻译器出产商根据C++草案提供很多并不规范的库,
占用的头文件就是vector.h, iostream.h这样的名字,
为了避免和它们冲突,标准用了vector, iostream这样无后缀名字,
>>望高手赐教!!!
解释完毕, :p
#5
看看c++ primer 自己就知道了
#6
楼上"roadtang() "说的太对了.
#7
#include 里的文件是确定存在的。
如:
windows.h存在,而windows不存在时,include <windows.h>是对的,而include <windows>则是错误的。
另外,VC6出来时,C++标准还未定型,所以VC6使用<vector.h>这类带.h的头文件。
C++标准出来之后,STL文件都以没有扩展名的文件存在。
顺便说一下,VC6发布先于C++标准,因此,它对STL等的支持并不完整和规范,建议使用VC7或以上版本的IDE。
如:
windows.h存在,而windows不存在时,include <windows.h>是对的,而include <windows>则是错误的。
另外,VC6出来时,C++标准还未定型,所以VC6使用<vector.h>这类带.h的头文件。
C++标准出来之后,STL文件都以没有扩展名的文件存在。
顺便说一下,VC6发布先于C++标准,因此,它对STL等的支持并不完整和规范,建议使用VC7或以上版本的IDE。