zoukankan      html  css  js  c++  java
  • 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对象中字符的处理

  • 相关阅读:
    App界面设计利器Sketch 精选案例合集
    破解有道词典在线翻译接口--python
    欧几里得算法/欧几里得扩展算法-python
    深浅拷贝--python(预习中随手写的。因为当时很无聊。。。)
    为tomcat动态添加jndi数据源信息
    四个年头
    使用Node.JS访问Hyperledger Fabric的gRPC服务
    Hyperledger fabric Client Node.js Hello World示例程序
    在IBM Bluemix上部署Hyperledger应用
    Hyperledger区块数据的访问
  • 原文地址:https://www.cnblogs.com/52why/p/7562350.html
Copyright © 2011-2022 走看看