C++中的char是个基本类型,跟int一样;而string却是个库自带的类, string这个类包括很多成员函数,比如(), insert(), append()等,声明的变量是个对象,但不需要程序员自动析构
C++里的 cstring对应C语言的 ,
#include <cstring>和c中<string.h>一样的
#include <string>是中的字符串库
下面是C中字符串与C++字符串的区别。1)在C语言中,将字符串作为字符数组来处理。即C string就是 char arrary[MAX_SIZE];字符数组。而C++中的string 是 string class, 声明形式 string strObject.变量是个对象。只是他是C++ 标准库提供的string类,其实现效果跟用户自定义的类一样。
2) C string 字符串可以用字符串数组 char Array[MAX_SIZE];与字符串变量 char *p; 两种方式来存储。 以 '\0'为字符串结束标志。 strlen 是把串结束符 '\0'算在内的,而sizeof是在对字符数组和字符变量的操作结果不一样,引起原理不一样。 strcmp, strncmp,连接使用strcat, 不能 str1+str2, strchr(str1, ch); 在str1中查找ch第一次出现的位置,返回指针变量 而C++ string是类,是对象.结束符是npos,或者-1; 不用指定字符数目的大小。 + 取代了strcat length和size取代了strlen append, compare, substr,find, find_firt_of等函数 可以直接=, 而不用strncpy。 insert, replace, at, erase, clear, swap还有iterator函数的实现。