C++ String使用简要整理
来源:互联网 发布:虎门三通淘宝培训在那 编辑:程序博客网 时间:2024/06/07 01:47
声明和初始化
string s; //声明一个string 对象string ss[10]; //声明一个string对象的数组string s1("ssss");string s2(s1);string s3s3 = s2; // 支持直接赋值操作s3 = "1234"string s4(10,'c'); //s4 = "cccccccccc"char t[]="12345"; //s1 = "12",前两个字符string s1(t, 2);string tt("abcdefg");//s1 = "cdefg",第二个元素开始的字符string s1(tt, 2);string s1(tt, 2, 1);//s1 = "c",第二个元素开始的1个字符
字符串处理
1、子字符串substr
string s = "abcdefg";string s2 = s.substr(1,4); //s2 = bcde, 1位置开始的4个字符string s2 = s.substr(4); //s2 = efg, 4位置到最后的字符
2、插入字串insert
string tt("abcdefg");string s1("7654321");s1.insert(7, tt); //s1 = "7654321abcdef",7位置(当前)插入字串 s1.insert(7, tt, 2, 4); //s1 = "7654321cdef",插入2位置开始的4个字字符s1.insert(7, 10, '*'); //s1 = "7654321**********",7位置(当前)插入10个星s1.insert(s1.begin()+1, tt.begin(), tt.begin()+3); //s1.begin()+1之前插入tt.begin(),到tt.begin()+3
3、删除erase
string s1("7654321");s1.erase(4,2); //s1="76541",删除4位置后面2个字符 string tt("01234");tt.erase(tt.begin()); //1234删除指定位置元素 tt.erase(tt.begin(),tt.begin()+2); //234删除指定范围元素,tt.begin()+2位置不删
4、追加append,string重载了运算符,也可以用+=操作实现
string s1("a");string tt("0123456878");tt+=s1; //0123456878as1.append(tt,6,3); //后面追加str3第6个字符开始的3个字符串str.append("my name is",5); //追加字符串形参的前5个字符s1.append(10,'*'); //追加10个星号s1.append(tt.begin(),tt.begin()+2);//追加范围内元素,tt.begin()+2位置不加
5、替换replace
string s1("abcdef");string tt("0123456");s1.replace(2,3, tt); //ab0123456f s1第2+1位置开始的3个元素被tt替换 s1.replace(2,3, tt, 1,2); // ab12f 第2+1位置开始的3个元素被tt第1+1开始的2个数替换```
6、assign赋值
string s1("abcdef");string tt("0123456");s1.assign(tt); s1.assign(tt,2,3); s1.assign(tt,2,3); s1.assign(tt.begin(),tt.begin()+2); //左闭右开
字符串搜索
1、find,rfind函数就是找最后一个出现的匹配字符串,返回的位置仍然是从前往后数的。
string s1("abcdef");string tt("012cde3456");char *p="012cde3456";//没找到返回(无符号类型)size_t类型长数string::npos,赋给int类型则为-1 int i = s1.find('abc');size_t h = s1.find(p, 3,3);//等价于 s1.find("012cde3456", 2,3), s1.find(tt, 2,3)则出错
2、
find_first_of 和find最大的区别就是当在一个字符串str1中查找另一个字符串str2,如果str1中含有str2中的任何字符,则就会查找成功,而find则不同;
find_first_of(args) 查找args中任何一个字符第一次出现的位置find_last_of(args) 最后一个出现的位置find_fist_not_of(args) 查找第一个不在args中的字符find_last_not_of 查找最后一个不在args中出现的字符string str1("I am change");string str2("about");int k=str1.find_first_of(str2); //k返回的值是about这5个字符中任何一个首次在str1中出现的位置;int find_first_of(char c, int start = 0);默认 start等于0,从start开始搜索 int find_first_not_of(char c, int start);从start开始搜索
数值转换
阅读全文
0 0
- C++ String使用简要整理
- 嵌入式Linux中摄像头使用简要整理
- 嵌入式Linux中摄像头使用简要整理
- 嵌入式Linux中摄像头使用简要整理
- 嵌入式Linux中摄像头使用简要整理
- 嵌入式Linux中摄像头使用简要整理
- 简要整理下mysqldump
- Consul文档简要整理
- 后台知识简要整理
- c++string.find()函数用法整理
- C Ch6~Ch9重點整理-String
- C++string的使用
- C++string使用详解
- C++string使用
- 简要解析XMPP框架及iOS-Objective-C的使用
- NFS简要配置(后续整理)
- python学习简要笔记整理
- Python学习简要笔记整理
- mybatis逆向工程生成相关文件
- 【十八掌●武功篇】第八掌:HBase之性能调优
- 第14周项目1
- 不同浏览器上的开发者工具
- Oracle表空间相关sql
- C++ String使用简要整理
- 测试:写一篇博文
- El表达式不起作用
- eclipse中使用maven的手段
- C++IO库--fstream和stringstream
- redis 强制关闭Redis快照导致不能持久化解决方案
- 关于ArrayList的5道面试题
- java基础-反射1(类型信息,Class对象简介,Class对象初始化)
- 【十八掌●武功篇】第八掌:HBase之安装与集成