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
- C风格的字符串
- c的字符串函数.
- c字符串的初始化
- c风格的字符串
- 字符串的处理[C#]
- C风格的字符串
- c的格式化字符串
- C的字符串
- c的格式化字符串
- c字符串的处理
- C语言的字符串
- c风格的字符串
- 【C】字符串的排序
- C语言的字符串
- C 字符串的输入输出
- 字符串的输入--C
- 【C#】[字符串]字符串提取(获取两个字符串中间的字符串)
- C++的字符串: C风格的字符串
- 黑马程序员--java常用的四种排序
- 人最重要的能力是什么?
- 【Leetcode】Combination Sum II
- USACO——Broken Necklace 坏掉的项链
- Google推荐的图片加载库Glide介绍
- C++的字符串
- 7.4 FIN及其ACK的接收
- 各种背包基础
- 从百度快照取消反应哪些问题?
- USACO——Milking Cows 挤牛奶
- 经常遇到Please ensure that adb is correctly located at 'D:\java\sdk\platform-tools\adb.exe' and can be e
- 【C语言】翻转单词序
- java 怎样给一个程序设置冷却时间? 好比一个操作我一天只想让客户执行一次?
- 交换机vlan配置