请C++高手们帮忙解答:关于使用string时可不可以用头文件#include<string.h>的问题 谢谢!

在程序中使用了string类来处理字符串,那么在声明头文件时我写了#include<iostream.h>和#include<string.h>,结果编译时出错了。当我改... 在程序中使用了string类来处理字符串,那么在声明头文件时我写了#include<iostream.h>和#include<string.h>,结果编译时出错了。当我改写成#include<iostream>和#include<string>,再加上using namespace std;再编译时就没有错误了。请问这是为什么呢?这两者写法有什么区别吗?
谢谢!
展开
 我来答
chiconysun
2011-05-06 · TA获得超过2.2万个赞
知道大有可为答主
回答量:5410
采纳率:92%
帮助的人:2594万
展开全部
#include<string.h>
是C语言的字符数组库函数,不是C++的string类
C++的string类只能用:
#include<string>
using namespace std;
如果C字符数组头文件要这样用,必须改为:
#include <cstring>
using namespace std;
原因在于C的标准出来得早,C++ 的string类是后来的
LePAc
2011-05-06 · TA获得超过3388个赞
知道小有建树答主
回答量:1333
采纳率:0%
帮助的人:1323万
展开全部
string.h和string是两个不同的文件,你可以打开include文件夹查看
前者属于C的文件
后者属于C++的范畴,该文件中还包含了string类的各种算法,你处理的方法中应该是用到了string文件中的函数
还有其他的几个文件也是C和C++都定义了不同的文件,名字一样,区别就在于是否有后缀.h
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
枫啦啦
2011-05-06 · TA获得超过2395个赞
知道小有建树答主
回答量:680
采纳率:0%
帮助的人:792万
展开全部
用的是C++的话
iostream.h是旧版的输入输出头文件
而iostream是标准输入输出头文件,

同理
在C++里面<string>是新的字符串头文件
旧的头文件应该是<cstring>和<string.h>

由于推荐用新的头文件,所以有些IDE是不包含旧头文件的
比如VS2008的话,是找不到iostream.h的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式