C标准库中的字符串上一篇我们介绍了C语言风格的字符串它的主要特点是编译器会在字符结束处添加一个 \0 空字符作为结束因此在计算字符串长度时会在字符数量的基础上“1”。本篇我们介绍一下C标准库中的字符串看看它和C语言字符串的差别。在之前变量的内容中我们声明过各种变量其中就有string类型而string就是C标准库提供的字符串类。至于什么是“类”我们在之后会讲解这里知道string是字符串类就行。在需要用到string类型变量时我们尽量在代码顶部添加“#include string”头文件。下面我们通过代码了解C字符串和C语言字符串的区别如下#include iostream#include stringusing namespace std;int main(){string str1 HELLO; // 初始化 str1string str2; // 可以进行初始化空字符串操作cout str1 endl; // 输出 str1// 下方为计算两个字符串的长度string字符串类提供两个长度获取函数size( )、length( )cout length( )方式获取str1的长度 str1.length( )endl;cout size( )方式获取str1的长度 str1.size( )endl;cout length( )方式获取str2的长度 str2.length( )endl;cout size( )方式获取str2的长度 str2.size( )endl;}输出HELLOlength( )方式获取str1的长度5size( )方式获取str1的长度5length( )方式获取str2的长度0size( )方式获取str2的长度0在本案例中使用了“ . ”后面再跟上函数名称如size( )或length( )这是类对象调用类中成员函数的用法我们之后的文章会频繁使用“ . ”目前了解就好。无论是size( )还是length( )输出的值都是实际字符数量str1 的赋值内容为“HELLO”即5个字符而 str2 则是空字符串即0个字符。因此我们可以知道C标准库中的字符串是不需要编译器默认添加 “\0” 作为结尾的这便是二者最基本的区别。并且C字符串是基于string类的所以会提供很多不同功能的函数用于日常操作我们下一篇再讲。