头文件问題,为什么編译器总是告诉我说找不到头文件

cwbboy 2004-10-25 04:30:28

我刚学c++的,按照c++ primer 上的例子写了个程序,但我 #include<string> 后,

编译时,还是提示我找不到头文件,在tc 3.0 和bc 3.0 中都是这样。我搜索了一下以前的贴子,

会不会是由于标准函数库和非标准之间的区别啊?我初步怀凝是教材中的c++用的是标准函数库,而tc 3.0 中用的是非标准,不知是不是这样?

我是在windows操作系统的控制台下写程序的。

另外,初学c++(用的教材是c++ primer) 用什么编译器比较好? 我发现c++编译器版本实在是太多了,头都搞晕了。希望高手能指点一二。
...全文
650 29 打赏 收藏 转发到动态 举报
写回复
用AI写文章
29 条回复
切换为时间正序
请发表友善的回复…
发表回复
rex1984 2004-11-02
  • 打赏
  • 举报
回复
#include <iostream>
#include <string>
using namespace std;
或者
#include <iostream.h>
#include <string.h>


ivorstar 2004-10-31
  • 打赏
  • 举报
回复
搂住可以到lib目录里看一下,那里都是include 的文件,看看有没有.h就行了。的确不同的编译器包含的库不一样,不都是标准库。
用了很多的编译器,还是觉得.net 2003比较好。
mingkui 2004-10-31
  • 打赏
  • 举报
回复
也有可能是安装的问题,有一次我的头文件不能用,可把SYS文件复制到INCLUDE里就好了

believe_me 2004-10-30
  • 打赏
  • 举报
回复
tc3.0里的确没有string类型的
简单的定义字符串需要用数组类型~~
hcj2002 2004-10-30
  • 打赏
  • 举报
回复
tc3.0好像并不支持string类型
021850524 2004-10-28
  • 打赏
  • 举报
回复
tc3.0和bc3.0都太老了,至少要用vc6.0了.
apple3_cx 2004-10-28
  • 打赏
  • 举报
回复
哦,忘了说了,欢迎楼主加到C++行列来!!!!呵呵
apple3_cx 2004-10-28
  • 打赏
  • 举报
回复
我觉得也是设置问题,加.h的头文件在编译是在整个头文件区里查寻,若无.h就只会在默认的路径下查寻,找不到就算了。好象听老师有这么一说,不是不太记得了,望后来者肯定!
uow30 2004-10-28
  • 打赏
  • 举报
回复
可能是你tc 3.0 / bc 3.0的设置不对,到tc 3.0 / bc 3.0中把"include"的路径设置成include文件夹的路径就可以了
robincn 2004-10-28
  • 打赏
  • 举报
回复
在visual C++.net version 7.1.3091中如下应该是可以编译过去的:
#include <string>
#include <iostream>

using namespace std;

int main()
{
jumpandfly 2004-10-28
  • 打赏
  • 举报
回复
tc3.0 和bc3.0出的时候,还没有#include <string>这种用法呢,当然不支持.
newegg2002 2004-10-27
  • 打赏
  • 举报
回复
string是std中的,,使用的时候应该给编译器说明:
这是个超简单的例子:)
#include <iostream>
#include <string>
#include <cstdlib>
int main()
{
std::string str="fd";
std::cout<<str<<std::endl;
system("pause");
}
也可以像上面说的..using namespace std;
至于C++用什么编译器好?萝卜青菜.各有所爱吧..
我喜欢Visual C++(.net),,,.net没用过..不过听说不错..
或者是dev c++,最近4.9.9.0,
Visual_Li 2004-10-26
  • 打赏
  • 举报
回复
与编译器有关
但是string是STL的东西,要加上using namespace std;
^_^接分
huangyang88 2004-10-26
  • 打赏
  • 举报
回复
#include <string.h>
这还是c里面的头文件,里面是没有string这个变量类型的

#include <string>
using namespace std;
这里面才有string这个类型,这是标准c++里面的变量类型
acmKevin 2004-10-26
  • 打赏
  • 举报
回复
这可以肯定是tc3.0和bc3.0对c++标准支持的相当不够(可以说根本就不能用它们来写C++程序,这样对学习c++极为不利),他们都太久远了,而c++标准是1998年制定的,用他们写C倒是满好的,可C++就.......

楼主要学c++的话,我劝你换一款编译器,borland C++ builder对C++标准的支持还是令人满意的(尽管也不完美),其实VC++6.0也是满可以用的而且也更易上手。这样的话我想就应该没问题了,最后祝楼主C++突飞猛进~
snowred_bai 2004-10-25
  • 打赏
  • 举报
回复
你用这样的格式试试

#include<string>
using namespace std;

要不这样也可以

#include<string.h>

后面的是标准c++格式
darkstar21cn 2004-10-25
  • 打赏
  • 举报
回复
tc3.0没用过,本人现在用g++/c++,vc2003,vc2005beta,对C++标准支持都不错。建议楼主试试——vc2005beta是测试版可以免费下载。
wyyhzcflying 2004-10-25
  • 打赏
  • 举报
回复
大家觉得VC 6.0编译器好呢还是VC.NET好?
我总觉得VC.NET好些,但见很多前辈
都在用VC 6.0心就没底了
acmKevin 2004-10-25
  • 打赏
  • 举报
回复
答:tc3.0可能对标准支持不够,汗!这也不够得过分了点。
最后问个文体tc3.0是否支持C++???????
Ji秋风 2004-10-25
  • 打赏
  • 举报
回复
up
加载更多回复(9)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧