String类型支持长度可变的字符串,需要包含头文件#include<string>

1、string对象的定义和初始化

string支持好几种初始化方式:

初始化方式

说明

String s1;

默认构造函数,s1是空串

String s2(s1)

将s2初始化为s1的一个副本

String s3(“value”)

将s3初始化为一个字符串字面值的副本

String s4(n, ‘c’)

将s4初始化为字符’c’的n个副本

C++ primer4标注:字符串字面值和标准库string类型不是同一种类型

2、string对象上可以进行的操作

可执行的操作(string s)

操作说明

s.empty()

判断s是否为空串,若为空,返回true

s.size()

返回s中字符的个数

S[n]

返回s中位置为n的字符,位置从0开始

S1+s2

字符串连接,可以用+操作符

S1=s2

字符串拷贝,将s1内容替换成s2的副本

V1==v2

比较v1与v2的内容,相等则返回true

=<<=>>=

保持这些操作符惯有的含义

 

3、string类型的其他操作

Ø  可以用cin>>str从命令端读入字符串,是以空格分开读入的

Ø  可以用cout<<str输出字符串到命令端

Ø  可以用getline(cin,str)从命令端读入一行字符串,包括空格也会读入

Ø  循环遍历string的时候,下表值不要用Int类型,因为string的内置的长度函数size()返回的是string::size_type类型,这是一个unsingned类型,在有的机器上,int类型的范围太小了,因此需要这样遍历string,

For(size_type

Ø  可以用str[i]=’x’这样的方式,将str的某一位覆盖掉新值