string和string.h和cstring之间的关联

Posted cyj1258

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string和string.h和cstring之间的关联相关的知识,希望对你有一定的参考价值。

  1. C语言中没有字符串string类型,字符串是存放在字符型数组中的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符‘‘作为结束标志 。
  2. string.h是C风格字符串操作的一个库函数,因此使用#include<string.h>时是不能定义string类的,使用时不需声明namespace std。
  3. string.h是C++标准化(1998年)以前的C++库文件,在标准化过程中,为了兼容以前,标准化组织将所有这些文件都进行了新的定义,加入到了标准库中,加入后的文件名就新增了一个"c"前缀并且去掉了.h的后缀名,所以string.h头文件成了cstring头文件。但是其实现却是相同的或是兼容以前的。相当于标准库组织给它盖了个章,说“你也是我的标准程序库的一份子了
  4. 你用的是C++,那么请用cstring,如果你用的是C请用string.h。
  5. string是C++标准库里面的string模板,也包含了C风格字符串操作的库函数,因此可以定义string类,使用时需声明namespace std。
  6. string.h是以前的c版本,包含的是类似strcmp,strcpy的函数,标准化之后变成了cstring。而string是c++的版本,包含了string的类,同时也包含了对cstring的兼容。

以上是关于string和string.h和cstring之间的关联的主要内容,如果未能解决你的问题,请参考以下文章

string和cstring头文件的区别

C++中 string 和cstring 头文件 有啥区别????

string string.h=cstring=str

C\C++关于string.h头文件和string类

C++中,<cstring>、<string.h>和<string>的关系,①这几个各在啥时候使用?需不需要命名空间?

char*stringCString各种字符串之间转换