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字符串的访问和拼接的主要内容,如果未能解决你的问题,请参考以下文章