| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2534 人关注过本帖
标题:[分享]头文件string与string.h的区别
只看楼主 加入收藏
xchxp321god
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2007-8-28
收藏
 问题点数:0 回复次数:5 
[分享]头文件string与string.h的区别

一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应,区别除了后者的好多改进之外,还有一点就是后者的东东都塞进了“std”名字空间中。

但唯独string特别。
问题在于C++要兼容C的标准库,而C的标准库里碰巧也已经有一个名字叫做“string.h”的头文件,包含一些常用的C字符串处理函数,比如strcmp。
这个头文件跟C++的string类半点关系也没有,所以<string>并非<string.h>的“升级版本”,他们是毫无关系的两个头文件。
要达到楼主的目的,比如同时:
#include <string.h>
#include <string>
using namespace std;
或者
#include <cstring>
#include <string>

其中<cstring>是与C标准库的<string.h>相对应,但裹有std名字空间的版本。

搜索更多相关主题的帖子: 头文件 string 扩展名 库里 
2007-08-29 08:55
aipb2007
Rank: 8Rank: 8
来 自:CQU
等 级:贵宾
威 望:40
帖 子:2879
专家分:7
注 册:2007-3-18
收藏
得分:0 
  嗯!

Fight  to win  or  die...
2007-08-29 17:48
duffebear
Rank: 1
等 级:新手上路
威 望:2
帖 子:172
专家分:0
注 册:2007-1-30
收藏
得分:0 
3ku

死后定当长眠 生前何须久睡
2007-09-02 15:45
feier7501
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2007-12-6
收藏
得分:0 
回复 1# 的帖子
C++里的是string类,C里的是函数。
2008-03-07 19:28
leeco
Rank: 4
等 级:贵宾
威 望:10
帖 子:1029
专家分:177
注 册:2007-5-10
收藏
得分:0 
[bo]以下是引用 [un]xchxp321god[/un] 在 2007-8-29 08:55 的发言:[/bo]

一般一个C++的老的带“.h”扩展名的库文件,比如iostream.h,在新标准后的标准库中都有一个不带“.h”扩展名的相对应。。。

这个结论你怎么得到的?除了iostream.h你还能举例吗?
我也有一个类似的结论,是“一般一个C++的老的带“.h”扩展名的库文件,在新标准后的标准库中都有一个不带“.h”扩展名的并且加上首字符c的相对应”
这样一来string.h和cstring的对应就不特殊了,而是理所应当的。
这时你可能质问我,除了string.h你还能举例吗?
我能 stdio.h ->cstdio , stdlib.h -> cstdlib , math.h -> cmath ,time.h -> ctime , ctype.h -> cctype
2008-03-08 01:02
lyc5305562
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-3-8
收藏
得分:0 
楼主说的不错,原来以为所有后面加.h的都包含有std名字空间,哈,现在长知识了~谢谢了哈
2008-03-09 13:15
快速回复:[分享]头文件string与string.h的区别
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.042242 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved