zoukankan      html  css  js  c++  java
  • C++学习37 string字符串的访问和拼接

    访问字符串中的字符

    string 字符串也可以像字符串数组一样按照下标来访问其中的每一个字符。string 字符串的起始下标仍是从 0 开始。请看下面的代码:

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string s1 ;
        s1 = "1234567890";
        for(int i=0, len=s1.length(); i<len; i++)
            cout<<s1[i]<<" ";
        cout<<endl;
        s1[5] = '5';
        cout<<s1<<endl;
        return 0;
    }

    本例中定义了一个 string 变量 s1,并赋值 "1234567890",之后用 for 循环遍历输出每一个字符。借助下标,除了能够访问每个字符,也可以修改每个字符,s1[5] = '5';语句就将第6个字符修改为 ’5’,所以 s1 最后为 "1234557890"。

    字符串的拼接

    有了 string 类,我们可以使用”+“或”+=“运算符来直接拼接字符串,非常方便,再也不需要使用C语言中的 strcat()、strcpy()、malloc() 等函数来拼接字符串了,再也不用担心空间不够会溢出了。

    用”+“来拼接字符串时,运算符的两边可以都是 string 字符串,也可以是一个 string 字符串和一个C风格的字符串,还可以是一个 string 字符串和一个 char 字符。请看下面的例子:

    #include <iostream>
    #include <string>
    using namespace std;
    int main(){
        string s1, s2, s3;
        s1 = "first";
        s2 = "second";
        s3 = s1 + s2;
        cout<< s3 <<endl;
        s2 += s1;
        cout<< s2 <<endl;
        s1 += "third";
        cout<< s1 <<endl;
        s1 += 'a';
        cout<< s1 <<endl;
        return 0;
    }
  • 相关阅读:
    正则表达式的贪婪匹配(.*)和非贪婪匹配(.*?)
    jQuery + css 公告从左往右滚动
    C# process 使用方法
    存储过程与SQL的结合使用
    img标签的方方面面
    kibana 5.0.0-alpha5 安装
    es5.0 v5.0.0-alpha 编译安装
    奇怪的hosts文件
    阿里云 api 的文档拼写错误
    centos 7 systemd docker http proxy
  • 原文地址:https://www.cnblogs.com/Caden-liu8888/p/5837171.html
Copyright © 2011-2022 走看看