C++ String 及其与char[]的比较

   在学习C++之前  一般都是学过了C语言了  

在C语言中   我们对字符串进行保存操作  使用的是char[]

但是在C++中    string比char[]的使用更为频繁  常见    下面稍微讲一下我对于string的认知

1.与其他的标准库类型一样   用户程序需要使用String类型对象  就必须包含相关的头文件   (为了编写方便   需要提供合适的using声明)

#include <string>
using std::string;

2.string对象的定义与初始化

    string s1;//创建空字符串
    string s2("wo yao ac");//创建初始值为wo yao ac的字符串s2
    string s3(s2);//创建s2的副本   s3值的改变  不影响s2
    string s4(2,'a');//创建字符串s4   值为2个字符‘a’
    string s5=s2+s3;//创建字符串s5   值为s2+s3

输出结果   为

3.string的读写

在C中  我们使用 下面俩种方法读入字符串

scanf("%s",s1);
gets(s1);

而在C++中    string类型的数据使用的读入方法是cin

cin>>s1;

读取并忽略开头的所以空白字符   读取字符串至再次遇到空白字符为止    类似于scanf("%s",s1);

不过在解决问题的时候   我们不可能只需要保存连续的非空字符

这时候我们就需要一个像gets()一样的读入方法      getline(cin,s1);

4.string对象的操作

    s1.empty();   //判断s1是否为空   是就返回true   不是就返回false
    s2.size();    //返回s2中的字符数目
    s1[i];   //返回s1中下标为i的那个字符
    s1+s2;  //返回一个字符串  其等于s1的值后面紧接着s2
    s1=s2;   //将s2的值付给s1
  s1==s2  //比较s1与s2的值,相等就返回true   不然就返回false

 注意:string类型的字符串也可以使用>  < 比较大小

5.string对象中字符的处理

原文地址:https://www.cnblogs.com/52why/p/7562350.html