C++ string 类的一些简单用法总结
2017-04-18 19:16
344 查看
关于C++标准程序库中String类的初始化,有以下几种方法:
1.用原有String对象初始化
2.用一个字符串常量进行初始化
3.用一个字符数组指针初始化
4.用原有字符串搭配substr操作
5.利用迭代器
6.还有一种不知道有啥意义,构造函数第一个参数为字符拷贝数量,第二个参数为拷贝的字符
关于substr函数:
substr函数第一个参数是开始位置,截取字符数目为第二个参数,两个参数都有默认值,无参的substr函数代表全部截取。当substr第一个参数越界时,会报out_of_range错误,第二个参数过大导致越界则不会报错,截取到最后一个字符
有用的两个函数:append()与size():
C++标准库为string类提供了一系列类似于容器的操作,其中str.append("append_string")代表向已有字符串后面添加字符,而size()与length()作用相同,即返回字符串长度。
两个不同的函数:insert()与replace():
insert函数使得可以向字符串任意位置添加字符,但是有可能会造成原有字符串的储存位置发生改变,而replace()则可以替换给定位置的字符,它可以结合find()使用,注意,不要把string的成员函数replace与泛型算法中的replace混淆。
在《C++编程剖析》中提到了at()与[ ]的区别:at会进行数组越界检查,如果越界则会返回out_of_range错误,而索引操作符则不会进行检查,一般建议使用at()来进行索引操作。这也适用于string类。
刚刚尝试写博文作为总结笔记,如有问题或说法不妥,恳请指正。
1.用原有String对象初始化
2.用一个字符串常量进行初始化
string str1="123"; string str2(str1);
3.用一个字符数组指针初始化
char char_array[5]={'1','2','3','4'}; string str(char_array);
4.用原有字符串搭配substr操作
string str1="123456"; string str2(str1,0,3);
5.利用迭代器
string str1="123456"; string str2(str1.begin(),str1.end());
6.还有一种不知道有啥意义,构造函数第一个参数为字符拷贝数量,第二个参数为拷贝的字符
string str(9,'1');
关于substr函数:
substr函数第一个参数是开始位置,截取字符数目为第二个参数,两个参数都有默认值,无参的substr函数代表全部截取。当substr第一个参数越界时,会报out_of_range错误,第二个参数过大导致越界则不会报错,截取到最后一个字符
string str="123456"; cout<<str.substr(0,3)<<endl;//输出“123” cout<<str.substr(0,9)<<endl;//输出“123456” cout<<str.substr(9,9)<<endl;//报错
有用的两个函数:append()与size():
C++标准库为string类提供了一系列类似于容器的操作,其中str.append("append_string")代表向已有字符串后面添加字符,而size()与length()作用相同,即返回字符串长度。
两个不同的函数:insert()与replace():
insert函数使得可以向字符串任意位置添加字符,但是有可能会造成原有字符串的储存位置发生改变,而replace()则可以替换给定位置的字符,它可以结合find()使用,注意,不要把string的成员函数replace与泛型算法中的replace混淆。
在《C++编程剖析》中提到了at()与[ ]的区别:at会进行数组越界检查,如果越界则会返回out_of_range错误,而索引操作符则不会进行检查,一般建议使用at()来进行索引操作。这也适用于string类。
刚刚尝试写博文作为总结笔记,如有问题或说法不妥,恳请指正。
相关文章推荐
- 枚举类型的一些用法总结
- 个人总结的一些关于String、Function、Array的属性和用法
- 【Java】简单总结一下Java中printf()的用法
- GCC GDB OBJDUMP 一些简单用法
- Shell编程的一些用法总结
- valarray的一些简单用法
- 记录一些简单实用的vim用法
- vc的一些简单用法
- 【Java】简单总结一下Java中printf()的用法
- TinyXML是的一些简单说明与用法
- PDO一些简单总结
- SQL一些简单函数的总结
- 简单服务器控件 单值绑定 bind 的一些总结
- 编译预处理一些知识简单总结
- 对操作系统一些常用模块调用的简单总结
- oracle 数据库一些单行函数的简单用法
- 一些简单网络命令用法
- 自己总结的一些vim的用法
- Substring 的一些简单用法
- 简单介绍一下jQuery的一些特性和用法: