C++ 标准库类型 string
C++ 标准库类型 string
一、string 类型的使用和定义
1、使用 string 类型
标准库类型 string 表示可变长的字符序列
#include <string>
using std::string;
2、定义和初始化 string 对象
直接初始化:使用括号
拷贝初始化:使用等号
// 直接初始化
string s1; // 默认初始化,空串
string s2(s1) // s2是s1的副本
string s3("value")
string s4(n, 'c') // 重复 n 个 c// 拷贝初始化
string s2 = s1
string s3 = "value"
二、string 对象的操作
1、string::size_type 类型
string 类型的 size() 和下标的数据类型是size_type,是一种无符号整型数。不可与有符号类型混用
// 推导变量另外类型
string line("xxx");// 法一
auto len = line.size();// 法二
decltype(line.size()) len = line.size();
2、读写 string 对象
读取: string 对象会自动忽略开头的空白(空格符、换行符、制表符)从第一个非空字符读取直到遇见下一处空白为止。
输出: 与标准的输出一样
// 循环读取
string word;
while(cin >> word)cout << word << endl;//循环读取一行
string line;
while(getline(cin, line))cout << line << endl;
3、string 对象比较与相加
string 对象比较:
- 从第一个字符开始比较
- 遇到字符不同的按字典顺序进行比较,得到结果
- 如果字符相同,比较长短
string 对象相加:
- 两个 string 对象相加即为拼接
- 可以一个 string 对象加一个字符串,返回的还是 string 对象
- 不能两个字符串相加,除非前面已经有 string 对象
4、处理 string 对象中的字符
for 语句访问 string 对象中的字符:
// declaration 变量是 expression 基础元素
for(declaration: expression)statement// 循环打印字符
string str("xxx")
for(auto c : str)cout << c << endl;// 使用引用改变 string对象的字符
string str("xxx")
for(auto &c : str)c = toupper(c);
- declaration: 定义一个变量
- expression: string 对象
- statement: 对变量的操作
下标访问:
下标从 0 开始,小于 size()
// 将第一个单词改为大写形式
string s("xxxx")
for (decltype(s.size()) index = 0; index != s.size() && !isspace(s[index]); ++index)s[index] = toupper(s[index]);
5、截取 string 的子串
// 截取s中从pos开始(包括0)的n个字符的子串,并返回
s.substr(pos, n) // 截取s中从pos开始(包括0)到末尾的所有字符的子串,并返回
s.substr(pos)
6、替换 string 的子串
// 用s1替换s中从pos开始(包括0)的n个字符的子串s.replace(pos, n, s1)
7、查找 string 的子串
// 查找s中第一次出现s1的位置,并返回(包括0)s.find(s1) // 查找s中最后次出现s1的位置,并返回(包括0)
s.rfind(s1) // 查找在s1中任意一个字符在s中第一次出现的位置,并返回(包括0)
s.find_first_of(s1) // 查找在s1中任意一个字符在s中最后一次出现的位置,并返回(包括0)
s.find_last_of(s1) // 查找s中第一个不属于s1中的字符的位置,并返回(包括0)
s.fin_first_not_of(s1) // 查找s中最后一个不属于s1中的字符的位置,并返回(包括0)
s.fin_last_not_of(s1)
C++ 标准库类型 string相关推荐
- 标准库类型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 ...
- (复健计划)标准库类型string
标准库类型string表示可变长的字符序列,使用string类型必须包含sring头文件<string>.作为标准库的一部分,string定义在命名空间,string定义在命名空间std中 ...
- C++ 标准库类型 string
写在前面: 我是「虐猫人薛定谔i」,一个不满足于现状,有梦想,有追求的00后 \quad 本博客主要记录和分享自己毕生所学的知识,欢迎关注,第一时间获取更新. \quad 不忘初心,方得始终.自己的梦 ...
- 标准库类型String,Vector
string对象中每个字符的处理: 要用到 for(声明:表达式) 语句 比如简单的打印string str中每一个字符 --- string str("hello world!!!&quo ...
最新文章
- SpringCloud配置中心-Config
- 少儿编程语言python-Python少儿编程系列-前言-为什么学Python?
- Python正在勒死R吗?
- Shutdown SpringBoot App
- 并发模式:生产者和消费者
- android 调用系统自带文件管理器_编写使用Android 系统自带的文字转语音代码
- 【VS开发】【miscellaneous】 Windows下配置Git
- Vim 还是 Emacs
- 视频下载工具annie 安装与使用
- 笔记——衡量回归算法的标准最好的评价指标R Square
- Orcad Schematic常用功能
- python 涨停统计_Python采集选股宝涨停信息
- Python实现定时在微信群发送消息
- 我的世界服务器修改spawn,编辑“命令/spawnpoint” - Minecraft Wiki,最详细的官方我的世界百科...
- 【报告分享】2020年短视频及电商直播趋势报告-飞瓜数据(附下载)
- 中文乱码与字体库windows
- wfp例子inspect说明
- nginx ip黑名单动态封禁
- 关于javascript的unescape()函数
- fmp4打包H264详解