C++学习37 string字符串的访问和拼接

Posted 白宫飘红旗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;
}

 

以上是关于C++学习37 string字符串的访问和拼接的主要内容,如果未能解决你的问题,请参考以下文章

string学习(赋值,访问,拼接)

C++文本处理的学习笔记

C++语法

C++ 提高教程 STL -string字符串拼接

C++入门篇string的模拟实现

C++入门篇string的模拟实现