(复健计划)标准库类型string
标准库类型string表示可变长的字符序列,使用string类型必须包含sring头文件<string>。作为标准库的一部分,string定义在命名空间,string定义在命名空间std中 示范如下:
#include<string>
using std::string
初始化法则如下:
string s5 = "hello";
string s6("hello");
string s7(10,'c');
基本操作:
读取字符串:有时我们希望在读取时保留输入时的空白符,此时可以用getline操作,每次读入一整行,直至文件末尾
while (getline(cin, line))
判断字符串大小与是否为空:
s.empty(); //返回bool类型,判断字符串是否为空
s.size(); //返回字符串的大小
SIZE_TYPE函数防混用操作:
string的size函数返回的是size_type类型,它是一个无符号整数,因为不可能存在string.size()<0的情况
所以切记不要把size()值传给int变量, 可以使用 auto num = line.size();
两个字符串拼接:加号是重载过的,相加就可以得到结果.
string s1 = "hello, ", s2 = "world\n"
string s3 = s1+s2;
s1 += s2;
字符串处理及案例:
我们经常要单独处理string对象中的字符,比如检查一个string对象是否包含空白,或者把string对象中的字母改成小写,或者检查某个特定字符串是否出现等
这时候则需要处理string中的每一个字符,我们可以通过一个循环来进行调用。
string s("Hello World");
for(auto &c:s){ //c代表每一个字符,对其进行处理 }
下标操作:
string的下标操作类似于数组,下标值也是size_type类型的。比如我们要通过下标将string中的字符都改成大写:
s[0] = toupper(s[0]); //只把首位替换成0s[s.size() - 1] = toupper(s[s.size() - 1]);//只把后一位替换for (decltype(s.size()) index = 0; index != s.size() && !isspace(s[index]) ; ++index) {s[index] = toupper(s[index]);}
一些基本的操作函数:
replace函数:替换掉字符串中的一截或整个字符串:
string abc = "abcdefg";string cde = "cdefghi";string abcxx(begin(abc) + 2, begin(abc) + 5);cout << abcxx << endl;abc.replace(begin(abc) + 2, begin(abc) + 5, "XYZ"); //字符串替换cout << abc << endl;
repalce函数参数:初始位置,结束位置,替换字符串
find函数:查找是否有对应的子字符串,如果有,则返回子字符串在母字符串中的开头位置,没有则返回最后位置
一个替换函数案例如下,函数输入参数为:母字符串,需要被替换的字符串,替换字符串
//一个替换函数
string& replaceTheStr(string& origin,const string &tofind,const string &toreplace) {auto pos = origin.find(tofind);if (pos != string::npos) {origin.replace(begin(origin) + pos, begin(origin) + pos + size(tofind), toreplace);return origin;}}
该函数首先查找是否有被替换的字符串,如果有,则找到其开头位置,通过开头位置-末尾位值算出替换范围,最后进行替换
(复健计划)标准库类型string相关推荐
- C++ 标准库类型 string
C++ 标准库类型 string 一.string 类型的使用和定义 1.使用 string 类型 标准库类型 string 表示可变长的字符序列 #include <string> us ...
- 标准库类型string的基本功能和使用
标准库类型string的基本功能和使用 String基本知识 初始化 基本操作 范围for语句 string定义的迭代器及其他 关于下标操作 示例代码 练习3.6 cctype.cpp punctRe ...
- 谈谈两种标准库类型---string和vector
两种最重要的标准库---string和vector string和vector是两种最重要的标准库类型,string表示可变长的字符序列,vector存放的是某种给定类型对象的可变长序列. 一.标准库 ...
- C++primer 第 3 章 字符串、向量和数组 3.1 命名空间的using声明 3.2标准库类型string
引言 除了第2章介绍的内置类型之外,C++语言还定义了 -个内容丰富的抽象数据类型库.其中,string和 vector是两种最重耍的标准库类型,前者支持可变长字符串,后者则 表示可变长的集合.还有- ...
- C++ primer三章二节标准库类型string
标准库类型string 标准库类型string表示可变长的字符序列,使用#include<string>引入头文件,string定义在命名空间std中. 定义和初始化string对象 如何 ...
- c++ 标准库类型string
标准库类型string string表示可变长的字符序列,使用string类型必须首先包含string头文件. 文章目录 一.定义和初始化string对象 二.操作string对象 三.处理strin ...
- 【C++学习笔记】标准库类型string
标准库类型string表示可变长的字符序列,使用string类型必须先包含string头文件,string定义在命名空间std. #include <string> using std ...
- C++ 标准库类型 string
写在前面: 我是「虐猫人薛定谔i」,一个不满足于现状,有梦想,有追求的00后 \quad 本博客主要记录和分享自己毕生所学的知识,欢迎关注,第一时间获取更新. \quad 不忘初心,方得始终.自己的梦 ...
- 标准库类型String,Vector
string对象中每个字符的处理: 要用到 for(声明:表达式) 语句 比如简单的打印string str中每一个字符 --- string str("hello world!!!&quo ...
最新文章
- CV01-语义分割笔记和两个模型VGG ResNet的笔记
- jQuery是否可以获取与元素关联的所有CSS样式?
- tensorflow+numpy 深度学习相关函数(持续更新)
- python的learn_python_learn1
- vim xxd命令查看二进制文件内容
- 解决ZF2_PATH environment
- SpringCloud学习笔记027---SpringBoot集成MyBatis_实现多数据源_可以自定义数据库类型
- 181023词霸有道扇贝每日一句
- sublime text3找到定义_决策易aPaaS,一款非技术人员也能使用的自定义开发神器
- Android 文件md5校验
- AutoCAD2010图边框图.LSP与.DGW文件该放在哪才能正确生成想要的图框
- 必读论文|20篇聊天机器人领域必读论文速递
- 搭建 Harbor v2.2.0 docker私库
- 基于微信小程序的扫码签到系统源码
- 批量将一个 PDF 文件按固定页数拆分成多个小的 PDF 文件
- CSS 中的@media
- html登陆没反应,ipad屏幕输入密码没反应
- Codeforces Round #469 (Div. 2) C. Zebras
- python人工智能大全_(自兴人工智能)Python 列表(List)的灵活使用
- 如何正确理解「指标」和「标签」