string函数部分解释
```c
1. 运算符重载
+、+= 连接字符串
= 字符串赋值
>、>=、<、<= 字符串比较(例如a < b, aa < ab)
==、!= 比较字符串
<<、>> 输出、输入字符串
注意:使用重载的运算符 + 时,必须保证前两个操作数至少有一个为 string 类型。例如,下面的写法是不合法的:
#include <iostream>
#include <string>
int main()
{
string str = "cat";
cout << "apple" + "boy" + str; // illegal!
return 0;
}
字符串查找
find() 查找函数
str.find("ab");
//返回字符串 ab 在 str 的位置
str.find("ab", 2);
//在 str[2]~str[n-1] 范围内查找并返回字符串 ab 在 str 的位置
str.rfind("ab", 2);
//在 str[0]~str[2] 范围内查找并返回字符串 ab 在 str 的位置
find_first() 首次出现系列函数
str.find_first_of("apple");
//返回 apple 中任何一个字符首次在 str 中出现的位置
str.find_first_of("apple", 2);
//返回 apple 中任何一个字符首次在 str[2]~str[n-1] 范围中出现的位置
str.find_first_not_of("apple");
//返回除 apple 以外的任何一个字符在 str 中首次出现的位置
str.find_first_not_of("apple", 2);
//返回除 apple 以外的任何一个字符在 str[2]~str[n-1] 范围中首次出现的位置
find_last() 末次出现系列函数
str.find_last_of("apple");
//返回 apple 中任何一个字符最后一次在 str 中出现的位置
str.find_last_of("apple", 2);
//返回 apple 中任何一个字符最后一次在 str[0]~str[2] 范围中出现的位置
str.find_last_not_of("apple");
//返回除 apple 以外的任何一个字符在 str 中最后一次出现的位置
str.find_last_not_of("apple", 2);
//返回除 apple 以外的任何一个字符在 str[0]~str[2] 范围中最后一次出现的位置
注意:以上函数如果没找到的话均返回 string::npos。
字符串的子串
str.substr(3);
//返回 [3] 及以后的子串
str.substr(2, 4);
//返回 str[2]~str[2+(4-1)] 子串(即从[2]开始4个字符组成的字符串)
字符串替换
str.replace(2, 4, "sz");
//返回把 [2]~[2+(4-1)] 的内容替换为 "sz" 后的新字符串
str.replace(2, 4, "abcd", 3);
//返回把 [2]~[2+(4-1)] 的内容替换为 "abcd" 的前3个字符后的新字符串
字符串插入
str.insert(2, "sz");
//从 [2] 位置开始添加字符串 "sz",并返回形成的新字符串
str.insert(2, "abcd", 3);
//从 [2] 位置开始添加字符串 "abcd" 的前 3 个字符,并返回形成的新字符串
str.insert(2, "abcd", 1, 3);
//从 [2] 位置开始添加字符串 "abcd" 的前 [2]~[2+(3-1)] 个字符,并返回形成的新字符串
字符串追加
除了用重载的 + 操作符,还可以使用函数来完成。
str.push_back('a');
//在 str 末尾添加字符'a'
str.append("abc");
//在 str 末尾添加字符串"abc"
字符串删除
str.erase(3);
//删除 [3] 及以后的字符,并返回新字符串
str.erase(3, 5);
//删除从 [3] 开始的 5 个字符,并返回新字符串
字符串交换
str1.swap(str2);
//把 str1 与 str2 交换
str.size();
//返回字符串长度
str.length();
//返回字符串长度
str.empty();
//检查 str 是否为空,为空返回 1,否则返回 0
str[n];
//存取 str 第 n + 1 个字符
str.at(n);
//存取 str 第 n + 1 个字符(如果溢出会抛出异常)
```
string函数部分解释的更多相关文章
- Python 常用string函数
Python 常用string函数 字符串中字符大小写的变换 1. str.lower() //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...
- string函数分析
string函数分析string函数包含在string.c文件中,经常被C文件使用.1. strcpy函数原型: char* strcpy(char* str1,char* str2);函数功能: 把 ...
- PHP String 函数
[http://www.w3school.com.cn/php/php_ref_string.asp ] PHP String 简介 String 字符串函数允许您对字符串进行操作. 安装 Strin ...
- lua string函数
lua的string函数: 参数中的index从1开始,负数的意义是从后开始往前数,比如-1代表最后一个字母 对于string类型的值,可以使用OO的方式处理,如string.byte(s.i)可以被 ...
- Java String类具体解释
Java String类具体解释 Java字符串类(java.lang.String)是Java中使用最多的类,也是最为特殊的一个类,非常多时候,我们对它既熟悉又陌生. 类结构: public fin ...
- PHP 5 String 函数
PHP 5 String 函数 PHP String 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. 函数 描述 addcslashes() 返回在指定的字符前添加反斜杠的字符串. add ...
- c++string函数详解
string,一个极为好用了函数,学好了这些函数,在模拟以及字符串问题上,回节省很多很多的写代码时间,代码复杂度以及错误率,那么这一类函数都有那些功能呢?我们来逐一介绍(让你大吃一惊,还有这种操作?) ...
- openssl之EVP系列之8---EVP_Digest系列函数具体解释
openssl之EVP系列之8---EVP_Digest系列函数具体解释 ---依据openssl doc/crypto/EVP_DigestInit.pod翻译和自己的理解写成 (作 ...
- scanf函数具体解释与缓冲区
1.基本信息 函数原型: int scanf( char *format, args, ...); 函数返回值: 读入并赋给args的数据个数.遇到文件结束返回EOF,出错返回0. 函数功能: sca ...
- 经常使用socket函数具体解释
经常使用socket函数具体解释 关于socket函数,每一个的意义和基本功能都知道,但每次使用都会去百度,參数究竟是什么,返回值代表什么意义.就是说用的少,也记得不够精确. 每次都查半天.常常烦恼于 ...
随机推荐
- Linux 命令:find/grep/sed/awk/du/df
目录 find grep sed awk du/df find # find 属于全部匹配,如输入abc,不能查到abcd # find 默认采用递归搜索 # 按时间 find . -atime -1 ...
- Vue报错:Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location
错误原因,我猜测多半是版本问题 在router/index.js中添加如下代码 const originalPush = VueRouter.prototype.push VueRouter.prot ...
- 青少年CTF平台-Web-PingME
题目描述 题目难度一颗星,五十分. 解题记录 进入题目中,发现这是一个ping功能 我们用连字符||进行分割两个语句,保证同时运行且输出. Payload为127.0.0.1 || ls 发现有fla ...
- nflsoj 5924 选排列
与全排列略微有些不同,只需要将退出条件需要改成 u==r #include <iostream> using namespace std; const int N = 15; int r, ...
- 《Java极简设计模式》第01章:单例模式(Singleton)
作者:冰河 星球:http://m6z.cn/6aeFbs 博客:https://binghe.gitcode.host 文章汇总:https://binghe.gitcode.host/md/all ...
- Pytest+Jenkins 学习笔记
Pytest+Jenkins 学习笔记 在软件测试工作中,单元测试通常是由开发人员执行的.针对最小单元粒度的组件测试,在完成了单元粒度的测试任务之后,通常就需要交由专职的测试人员将这些单元级的组件放到 ...
- Github工具库
0x01 漏洞练习平台 WebGoat漏洞练习平台: https://github.com/WebGoat/WebGoat webgoat-legacy漏洞练习平台: https://github.c ...
- 云原生(docker jenkins k8s)docker篇
docker (1)架构 ● Docker_Host: ○ 安装Docker的主机 ● Docker Daemon: ○ 运行在Docker主机上的Docker后台进程 ● Client: ○ 操作D ...
- C#开源、功能强大、免费的Windows系统优化工具 - Optimizer
前言 今天给大家推荐一款由C#开源.功能强大.免费的Windows系统优化工具 - Optimizer. 工具介绍 Optimizer是一款功能强大的Windows系统优化工具,可帮助用户提高计算机性 ...
- AT 下分记录
7.30 AGC063 \(+30=1620\) B 做法假 WA 了三次,为啥总是吃了罚时才能发现问题啊 心态还是需要解决的问题.过完 B 啥都想不出来又自闭了