C++中的string类

C++中的string类

C++标准库中string类以类型的形式对字符串进行封装,使得它除了像一个存储字符的容器外,更加包含了字符序列的处理操作。

常用的string函数

1.交换字符串(swap函数)
示例(这里省略了头文件,下同):
string s1=“Ming”;
string s2=“Luo”;
s1.swap(s2);
cout << s1 << endl;
cout << s2 << endl;
return 0;

输出结果为:
Luo
Ming

2.插入(insert函数)
示例:
*string s1=“Ming”;
string s2=" Luo";
string s3,s4;
s3=s1.append("~");
s4=s1.insert(4,s2);//在4位置后插入字符串s2
cout << s3 << endl;
cout << s4 << endl;
return 0;
输出结果为:
Ming~
Ming Luo~

3.删除(erase函数可删除指定字符也可删除所有字符,clear函数只能删除所有字符)
示例:
string s1=“Ming”,s2,s3,s4,s5;
s2=s1.erase(2,2);//删除2之后2位的字符
s3=s1.erase(2);//删除2之后所有的字符
s4=s1.erase();//删除所有字符
s5=s1.clear();//删除所有字符
cout << s2 << endl;
cout << s3 << endl;
cout << s4 << endl;
return 0;;

输出结果为:
Mi
Mi

4.返回C语言中的指针(c_str()函数)
cout<<s1.c_str()<<endl;
5.替换(replace函数)
示例:
*string s1=“Nice to meet you.”,s3,s4;
string s2=“See you again”;
char ch=“I love China”;
s3= s1.replace(1,2,“To”);//把1~3的字符替换为"To"
s4= s1.replace(1,2,s2,3,3);//把s1中1位置后面2个字符替换为s2中3位置后面的3个字符 ;
cout << s3 << endl;
cout << s4 << endl;

输出结果为:
NToe to meet you.
N yoe to meet you.

6.比较(compare函数)
示例:
string s1=“Ming”,s2=“Luo”;
int s3=s1.compare(s2);
cout << s3 << endl;
return 0;

输出结果为:
1(//s1>s2为正数,s1=s2为零,s1<s2为负数)
7.字符长度(size() 一般用作返回容器大小的方法,length() 一般用作返回一个序列的长度,两种方法最后的结果都一样)
示例:
string s1=“Ming”;
int s2=s1.length();
int s3=s1.size();
cout << s2 << endl;
cout << s3 << endl;
return 0;

输出结果:
4
4

8.判断字符串是否为空(empty函数)
示例:
string s1;
cout << s1.empty()<< endl;
return 0;

输出结果为:
1(s1是空返回1,不是空返回0)
9.复制(copy函数)
示例:
string s1=“Ming”;
char a[10];
s1.copy(a,4,0);//4为复制的字符数,0是复制的初始位置
cout << s1 << endl;
return 0;

输出结果:
Ming
10.查找(find函数)
示例:
string s1=“abclhi”,s2=“b”;
int n=s1.find(s2);
cout << n << endl;
return 0;

输出结果:
1(若没有找到,则返回值为-1)
11.返回子字符串(substr()函数)
示例:
string s1=“Ming Luo”;
string s2=s1.substr(5);//5为返回的初始位置
cout << s2 << endl;
return 0;
输出结果:
Luo
12.capacity()函数返回在重新申请更多的空间前字符串可以容纳的字符数. 这个数字至少与 size()一样大.
13.get_allocator()函数返回本字符串的配置器

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值