C++string类

1、string对象支持下标操作

以下代码是正确的:

string str1="hello";
str1[2]='o';
cout<<str1<<endl;

执行结果为:

heolo

2、用string对象或C类型字符串的某个片段来构造新的string对象的构造函数有4种

以下代码列出了4种以某个字符串的第i个字符和第j个字符之间的子字符串构造新字符串的方法:

int i=5,j=11;
string str="hello who are you?";
char c_str[]="hello who are you?";

string str1(str.begin()+i-1,j-i+1);  //method one
string str2(str,i-1,j-i+1);   //method two
string str3(c_str+i-1,j-i+1);   //method three
string str4(c_str,i-1,j-i+1);   //method four


 3、C++的string类是通过封装C类型的字符串来实现的。C++string类的length方法返回的长度不包含其所封装的C类型字符串的结尾'\0'。

 

4、判断一个C++string对象是否为空(没有存储任何内容),可以用一下两种方法:

string str;  //str为空
if(str.length()==0)
    cout<<"字符串为空"<<endl;   //方法一
if(str[0]=='\0')
    cout<<"字符串为空"<<endl;   //方法二


5、C++string类的append方法可以用来向string对象追加字符串。

用法如下:

string str;
str.append("hello");


6、C++string类的insert方法可以向C++string对象中插入一段字符串

用法如下:

string str1="hello, who are you?";
string str2="hi";
str2.insert(str2.end(),str1.begin()+5,str1.end());
cout<<str2<<endl;

以上代码片段的执行结果为:

hi, who are you?
注意:插入的内容不包括str1.endl()所对应的参数子相的值7、C++string类的erase方法可以删除C++string对象的某段子字符串

用法如下:

string str="hello, who are you?";
str.erase(str.begin(),str.begin()+7);
cout<<str<<endl;

以上代码片段的执行结果为:

who are you?

注意:删除的内容不包括str.begin()+7对应的参数所指向的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值