C++的字符串

来源:互联网 发布:中电科大数据院 编辑:程序博客网 时间:2024/05/22 14:39

string类方法汇总

构造函数 产生或复制字符串

析构函数 销毁字符串

=、assign 赋予新值

swap 交换字符串

+=、append()、push_bash() 添加字符

insert() 插入字符

erase() 删除字符

clear() 移除全部字符

resize() 改变字符数目

replace() 替换字符

size()、length() 返回字符数目

max_size() 返回字符的最大可能个数

empty() 判断字符串是否为空

capacity() 返回重新分配前的字符容量

reserve() 保留内存以存储的一定数量字符

[]、at(n) 存取单一字符

>>、getline() 从stream读取某值

copy() 复制字符串

c_str() 将内容复制成char*

data() 将内容以字符串形式返回

substr() 返回子字符串

find() 查询子字符串或字符

begin()、end() 提供正向迭代器支持


#include <iostream>#include <string>using namespace std;int main(){string str("12345678");char   ch[]="abcdefgh";string  a;string str1(str);//全复制string str2(str,2,5);//从第2个复制到第5个string str3(ch,5);//复制前5个元素string str4(5,'X');//复制5个'XXXXX'string str5(str.begin(),str.end());//全复制cout<<endl;//////////////////////////////////////////////////////大小和容量string str_num("12345678");cout<<"size="<<str_num.size()<<endl;cout<<"length="<<str_num.length()<<endl;cout<<"maxsize="<<str_num.max_size()<<endl;cout<<"capacity="<<str_num.capacity()<<endl;cout<<endl;///////////////////////////////////////////访问string s("abcde");char& r = s[2];char* p = &s[3];r = 'X';*p = 'Y';cout<<s<<endl;cout<<endl;////////////////////////////////////////////////比较string A("aBcdef");string B("AbcdEf");cout<<A.compare(B)<<endl;//完全对比cout<<A.compare(1,5,B)<<endl;//Bcdef和bcdEfcout<<A.compare(1,5,B,4,2)<<endl;//Bcdef和Efcout<<A.compare(2,2,B,2,2)<<endl;//cd和cdcout<<endl;/////////////////////////////////////////////////////assign()string ss1("12345678");string ss2;ss2.assign(ss1);cout<<ss2<<endl;ss2.assign(ss1,3,3);cout<<ss2<<endl;ss2.assign(ss1,2,ss1.npos);cout<<ss2<<endl;ss2.assign(5,'X');cout<<ss2<<endl;ss2.assign(ss1.begin(),ss1.end());cout<<ss2<<endl;cout<<endl;////////////////////////////////////////////////erase()string s_erase("12345678");s_erase.erase(3);//删除第3个以后字符cout<<s_erase<<endl;string s_erase1("12345678");s_erase1.erase(3,2);//删除第3个以后的两个字符cout<<s_erase1<<endl;cout<<endl;//////////////////////////////////////////////insert()string s_insert1("ello");string insert1("H");insert1.insert(1,s_insert1);cout<<insert1<<endl;insert1="H";insert1.insert(1,"yanjhj",3);cout<<insert1<<endl;insert1="H";insert1.insert(1,A,2,2);cout<<insert1<<endl;insert1="H";;insert1.insert(1,5,'c');cout<<insert1<<endl;cout<<endl;//////////////////////////////////////////append()string s_append("ello");string append1("H");append1.append(s_append);cout<<append1<<endl;append1="HHH";append1.append("123456",1,3);cout<<append1<<endl;append1="H";append1.append(10,'a');cout<<append1<<endl;cout<<endl;//////////////////////////////////repalce()string var("abcdefg");string re("123");var.replace(3,3,re);cout<<var<<endl;var = "abcdefg";re = "1234";var.replace(3,1,re.c_str(),1,3);cout<<var<<endl;var = "abcdefg";var.replace(3,1,5,'X');cout<<var<<endl;cout<<endl;/////////////////////////////////find()string s_find("today,w will go to swing!");int num = s_find.find('w',9);//从第9个字符开始搜索cout<<num<<endl;num = s_find.find('w',0);//逆向搜索cout<<num<<endl;return 0;}



0 0
原创粉丝点击