C++ string字符串的用法
string
。string 是定义在头文件 string 中的类,使用前需要包含头文件 string。
使用 string 定义字符串比较简单,主要有以下几种方式:
string s1;
s1="hello C++"; //第一种方式
string s2="hello C++"; //第二种方式
string s3("hello C++"); //第三种方式
string s4(6,'a'); //第四种方式
- 第一种方式先定义了字符串变量 s1,再为字符串变量 s1 赋值;
- 第二种方式直接使用“=”为字符串变量 s2 赋值;
- 第三种方式在定义字符串变量时,将初始值放在“()”运算符中,使用“()”运算符中的字符串为变量初始化;
- 第四种方式在定义字符串变量时,也将初始值放在“()”运算符中,但是“()”中有两个参数,第一个参数表示字符个数,第二个参数表示构成字符串的字符。
上述代码最后一行,表示用 6 个字符 'a' 构成的字符串初始化变量 s4,初始化后 s4 的值为" aaaaaa"。
注意:使用 string 定义字符串时,不需要担心字符串长度、内存不足等情况,而且 string 类重载的运算符与成员函数足以完成字符串的各种处理操作。
下面介绍一些常见的 string 字符串操作。
1) 访问字符串中的字符
string 类重载了“[]”运算符,可以通过索引方式访问和操作字符串中指定位置的字符。示例代码如下所示:
string s="hello,C++";
s[7]='P';
s[8]='P';
2) 字符串的连接
在C语言中,连接两个字符串要调用strcat()
函数,还要考虑内存溢出情况。在 C++ 中,string 重载了
+
运算符,可以使用“+”运算符连接两个 string 类型的字符串,示例代码如下所示:
string s1,s2;
s1="我在学习";
s2="C++";
cout<<s1+s2<<endl; //我在学习C++
3) 字符串的比较
在C语言中,比较两个字符串是否相等需要调用strcmp()
函数,而在 C++ 中,可以直接调用重载的>
、<
、==
等运算符比较两个 string 字符串。示例代码如下所示:
string s1,s2;
cin>>s1>>s2;
//比较两个字符串内容是否相同
if(s1>s2)
cout<<"字符串s1大于s2"<<endl;
else if (s1<s2)
cout<<"字符串s2大于s1"<<endl;
else
cout<<"字符串s1与s2相等"<<endl;
4) 字符串的长度计算
string 类提供的length()
函数用于获取字符串长度。length() 函数类似于C语言中的 strlen() 函数。调用 length() 函数获取字符串长度的示例代码如下所示:
string s="hello C++";
cout<<"length():"<<s.length()<<endl;
5) 字符串交换
string 类提供了成员函数 swap()
,用于交换两个字符串的值,示例代码如下所示:
string s1="hello C++";
string s2="I Love China!";
s1.swap(s2); //通过“.”运算符方式交换
swap(s1,s2); //通过函数调用方式交换
声明:《C++系列教程》为本站“54笨鸟”官方原创,由国家机构和地方版权局所签发的权威证书所保护。