string头文件常用方法(C++)

2023-11-15

string

定义字符串,如果未赋初值,则默认是 "" ,即空字符串,结尾也没有结束标志 \0

#include <string>
using namespace std;

int main() {
	string s1; // 空字符串
	string s2(5, 's'); // s2 = "sssss";
}

常用成员函数:

  • 求字符串长度

    str.length();
    
  • 字符串的拼接,可以用 + 或者 += 直接拼接字符串
    + 拼接字符串时,可以两边都是 string字符串;一个 string字符串和一个 C风格字符串;一个 string字符串和一个字符数组;一个 string字符串和一个单独字符;

    string s1 = "hello world";
    string s2 = "hhhhh";
    s2 = s2 + s1;
    
  • 插入字符串

    str.insert(pos, new_str);
    

    pos 表示原字符串 str中要插入的位置,即下标(位置要小心越界)
    new_str 表示要插入的字符串,可以是 string字符串,也可以是C风格的字符串

  • 删除字符串

    str.erase(pos=0, len);
    

    pos 表示字符串 str中要删除的起始位置,即下标(默认为0)
    len 表示要删除的字符串长度,如果不设置 len,则默认删至结尾

  • 提取字符串

    str.substr(pos=0, len);
    

    pos 表示要从老字符串 str中提取的起始位置,即下标(默认为0)
    len 表示新字符串的长度

  • 字符串的查找:
    1、find() 用于在 str1字符串中查找 str2 字符串出现的位置

    str1.find(str2, pos);
    

    str1 表示老字符串
    str2 表示新字符串
    pos 表示开始查找的位置,即起始下标,默认为0
    返回值为下标(类型是 int

    2、rfind() 用于在 str1字符串中查找 str2 字符串出现的位置

    str1.rfind(str2, pos);
    

    str1 表示老字符串
    str2 表示新字符串
    pos 表示从 str1的起点开始查找,直到 pos 下标结束
    返回值为下标(类型是 int

    3、find_first_of() 用于查找两个字符串中共同具有的字符在 str1 字符串中首次出现的位置

    str1.find_first_of(str2);
    

    str1 表示老字符串
    str2 表示新字符串
    返回值为下标(类型是 int

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

string头文件常用方法(C++) 的相关文章

随机推荐

  • 虚拟机开机出现dracut_安装CentOS 7的时候出现dracut:/#求解决方法!

    展开全部 安装CentOS 7的时候出现 dracut 解决方法 62616964757a686964616fe59b9ee7ad9431333365643661 1 这是因为安装程序未能找到安装文件 无法加载所致 2 可以在随后出现的 d
  • 基于vue开发一个组件库

    基于vue开发一个组件库 如果团队存在多个不同的项目都会使用一致的组件设计规范 那么搭建组件库无疑是不二选择 接下来我们直接开始实现组件库的搭建 1 首先安装vue cli3并创建一个项目 创建项目 vue create tset 关于vu
  • Mysql中的连接方式

    1 内连接 内连接查询的是两张表的交集 也就是A表和B表都必须有数据才能查询出来 join和on是一起的 select from A join B on A id B id select from A inner join B on A i
  • springboot项目接口给null给前端返回空字符串。

    代码 Configuration public class JacksonConfig Bean public MappingJackson2HttpMessageConverter mappingJackson2HttpMessageCo
  • 使用docker搭建Grafana+influx 实时监控Jmeter压测平台

    准备工作 jmeter 压测工具 产生压测数据 IfluxDB 开源时序数据库 特别适合用于处理和分析资源监控数据 用于存储压测数据 Grafana 度量分析与可视化图标展示工具 可以支持不用种类的数据源 用于将存储于InfluxDB中的数
  • Qt实现图片的简单压缩

    在编程过程中 涉及到网络传输或资源加载时 过大的图片往往是编程人员的噩梦 加载时间过长 体验效果差 特别在即时通讯的发送图片时 大图往往半天加载不出来 于是 先对图片进行压缩 暂时显示模糊图片 然后下载大图最后更新下载的大图 这一过程成为解
  • 任务长期不释放和占用单节点持续的cpu,导致hivesever2本身内存泄漏造成

    任务长期不释放和占用单节点持续的cpu 导致hivesever2本身内存泄漏造成 产生的原因在于 查询过于复杂或者数据量过大 当有复杂的查询或处理大量数据的请求时 HiveServer2可能会出现高负载 这可能涉及大量的计算 IO操作或涉及
  • macm1环境下jdk版本切换

    macm1环境下jdk版本切换 本文目录 macm1环境下jdk版本切换 下载jdk 安装 动态切换jdk 终端生效 全局生效 参考 下载jdk oracle官方源下载地址 https www oracle com java technol
  • 一个新的微型JSON开源框架

    Snack3 一个新的微型JSON框架 一个作品 一般表达作者的一个想法 因为大家想法不同 所有作品会有区别 就做技术而言 因为有很多有区别的框架 所以大家可以选择的框架很丰富 snack3 基于jdk8 60kb 无其它依赖 非常小巧 强
  • OperationalError: (2005, "Unknown MySQL server host 'localhost' (11001)")

    在调试Django时突然报OperationalError 2005 Unknown MySQL server host localhost 11001 这个错误 根据提示信息判断是说mysql server 无法识别 localhost
  • $nextTick的作用和使用场景

    nextTick的作用和使用场景 vue中的nextTick主要用于处理数据动态变化后 DOM还未及时更新的问题 用nextTick就可以获取数据更新后最新DOM的变化 适用场景 第一种 有时需要根据数据动态的为页面某些dom元素添加事件
  • 解决延迟有 Wi-Fi 6 就够了!

    最近二狗子家里的路由器坏了 而家里的数据网络信号又非常差 失去了路由器基本上就等于和世界隔离 所以二狗子打算去附近商城随便买一个新的路由器 结果售货员张口就问 买 Wi Fi 6 的路由器吗 Wi Fi 6 这直接把二狗子问懵了 Wi Fi
  • Serverless Kubernetes 应用部署及扩缩容

    作者 邓青琳 轻零 阿里云技术专家 导读 本文分为三个部分 首先给大家演示 Serverless Kubernetes 集群的创建和业务应用的部署 其次介绍 Serverless Kubernetes 的常用功能 最后对应用扩缩容的操作进行
  • 医学图像分割研究思路

    医学图像分割的主流方法之一是基于水平集 Level Set 的分割方法 目前针对主流的分割方法 我们主体研究思路如下图 在模型凸化以及形状先验两个方面 未开展相关工作 参考文献 部分演示代码 参数随图像需要调整 7 Xiaomeng Xin
  • 重新生成一堆rpm目录的repo库步骤

    createrepo c repo2module s stable modules yaml modifyrepo c mdtype modules modules yaml repodata
  • IntelliJ IDEA插件搜索下载缓慢

    我用的版本是2019 2 1 搜索插件特别慢 有时候加载不出来 看到别人说是用 Setting Appearance Behavior Syetem Setting Updates 将Use secure connection 的勾选去掉
  • java----面向对象和面向过程

    1 面向对象思想 面向对象四星思想就是把关注点放在一件事或一个活动中设计的人或事物上的思想 2 面向过程思想 面向过程思想就是把关注点放在一件事或一个活动中设计的人或事物所涉及的步骤上的思想 3 面向过程关键字 步骤 过程 4 面向对象关键
  • 一周 8k Star 的 Notion 开源替代品 AppFlowy 诞生

    近日 Notion 的开源替代品 AppFlowy 正式发布了 一经发布 在短短一周就获得了近 8k Star 这个成绩对于一个开源项目来说是非常不错的 那么为什么有了 Notion AppFlowy 团队却要从头开始开发一个类似的产品呢
  • 框架--SpringWeb

    文章目录 一 springweb 1 概述 2 springWeb层搭建 3 请求中的地址如何定义 4 如何接收请求中的数据 5 直接使用对象接收 6 post请求中文乱码处理 7 Ajax 返回 JSON 8 跨域问题 9 拦截器 10
  • string头文件常用方法(C++)

    string 定义字符串 如果未赋初值 则默认是 即空字符串 结尾也没有结束标志 0 include