C++ string的使用

C++ string的使用

在了解如何使用string类之前,我们先来看看C语言中使用字符串有多麻烦

调用头文件:cstring

定义一个C字符串:

	char str1[51]="Hello World";
	char str2[51]="你好,世界";
	
	printf("%s \n %s",&str1,&str2);

判断两个字符串是否相等:

	if(strcmp(str1,str2))
		//do sth.

后续赋值:

	strcpy(str1,str2);

现在来看看string是如何使用的:

string类的成员函数:

名称功能
构造函数初始化字符串
析构函数销毁字符串
=赋值
+,+ =,append( ),push_back()拼接字符串
insert ()插入字符
erase()删除字符
clear()移除全部字符(相当于="")
resize()改变字符数量
replace()替换字符
!=,==,<,<= ,>=,>,比较字符串
c_str()将内容以 C - string 形式返回
substr()返回子字符串
size(),length()返回字符串长度
find()搜寻某子字符串或字符
begin( ),end()提供正向迭代器支持
rbegin(),rend()提供逆向迭代器支持
[],at()返回某个位置的字符

调用头文件:string

	string str1;//初始化字符串,空字符串
	string str2 = str1; //拷贝初始化,其内容等于s1
	string str3 = "I am b"; //直接初始化
	string str4(10, 'a'); //s4存的字符串是aaaaaaaaaa
	string str5(str4); //拷贝初始化
	string str6("I am d"); //直接初始化
	string str7 = string(6, 'c'); //拷贝初始化,cccccc

string的操作:

	string str8=str3+str4; //将s3与s4拼接,储存在s8内
    string str9="the str9: ";
    str9+=str6; //直接拼接
    cout << str9.size() << endl; //输出s9的长度
	cout << str9[5] << endl; //输出s9的第5个字符
    
    string str10;
    getline(cin,str10); //读取一整行字符串至s10(即按下回车键才终止输入)
    cout << str10 << endl; //输出刚才输入的字符串
    
    string str11=str7.substr(0,3); //截取str7从0到3之间的字符串
    cout << str11 << endl;
    
    str11.insert(1,"bbb"); //将"bbb"插入到s11的第1个位置中
    str11.erase(1,3); //删除s11的第1个位置之后的3个字符
    cout << str11 << endl;
    
    str11="123456789"; //对s11进行重新赋值
    s11tr.replace(3-1,3,"kkk"); //替换s11的第3-1个位置之后的3个字符串为"kkk"
    cout << str11;

显而易见,C++的string类比C的字符串定义好非常多。

最后补上一句:STL大法好!!!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值