打赏

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大法好!!!

posted @ 2020-02-09 18:18  _Return  阅读(84)  评论(0编辑  收藏