cstring和string区别

来源:互联网 发布:服务器上的java 编辑:程序博客网 时间:2024/05/29 18:02

1.cstring

<string.h>是C语言版本的头文件,它是C风格字符串的头文件,包含了以下函数,如:

strlen(s)//返回s的长度,不包括字符串结束符'\0'strcmp(s1,s2)//比较两个字符串s1和s2,若s1与s2相等,返回0,若s1大于s2,返回正数,若s1小于s2,返回负数 strcat(s1,s2)//将字符串s2连接到s1后,并返回s1 strcpy(s1,s2)//将s2复制给s1,并返回s1 strncat(s1,s2,n)//将s2的前n个字符连接到s1后面,并返回s1 strncpy(s1,s2,n)//将s2的前n个字符复制给s1,并返回s1 
在C++标准化(1998年)过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个"c"前缀并且去掉了.h的后缀名,所以string.h头文件成了cstring头文件。但是其实现却是相同的或是兼容以前的,这就是<cstring>的来源。

2.string

<string>是C++标准定义的头文件,它定义了一个string的字符串类,里面包含了string类的各种操作,如s.size(), s.erase(), s.insert()等。但<string>又包含了老的C版本的字符串操作如strcpy、strcat等,这就相当于,在<string>的文件中除了定义自己的string类之外,还加了一个#include<string.h>一句包含了C版本的字符串操作。