string容器

news2025/6/17 2:51:33

1、string的构造和赋值

在这里插入图片描述
在这里插入图片描述

#include
#include
using namespace std;

void test01()
{
string str1(“hello world”); //使用字符串初始化
cout<<str1<<endl;
string str2(5,‘A’); //使用 n 个字符串是初始化
cout<<str2<<endl;
string str3 = str2; //拷贝构造,是两个类型相同的对象
cout<<str3<<endl;

string str4; //无参构造
str4 = “hello world”; //赋值运算
cout<<str4<<endl;
str4 = ‘W’; //str4指向的空间被释放掉,根本不用我们管,所以str4重新指向 'w’所在的空间
cout<<str4<<endl;

str4.assign(“hello world”, 5); //任何容器只要有 assing这个方法,都叫赋值,这个是成员函数赋值
cout<<str4<<endl;
str4.assign(str1, 2, 3); //成员函数赋值
cout<<str4<<endl;
}
int main(int argc, char *argv[])
{
test01();
return 0;
}

在这里插入图片描述

2、string存取字符操作

在这里插入图片描述
void test02()
{
string str1=“hello world”;
cout<<str1[1]<<" "<<str1.at(1)<<endl;
str1[1]=‘E’; //数组形式
str1.at(6)=‘H’; //成员函数
cout<<str1<<endl;

//[] 越界不会抛出异常 at越界会抛出异常
try
{
str1[1000]=‘A’;
str1.at(1000)=‘A’;
}
catch(exception &e)
{
cout<<“捕获到异常:”<<e.what()<<endl;
}
}

int main(int argc, char *argv[])
{
test02();
return 0;
}
在这里插入图片描述

3、string拼接操作

在这里插入图片描述
void test03()
{
string str1=“hello”;
str1 += “world”; //字符串拼接
cout<<str1<<endl;

string str2=“hehe”;
str1 += str2;
cout<<str1<<endl;

string str3=“hello”;
string str4=“world”;
cout<<str3+str4<<endl;

string str5=“hello”;
string str6=“world”;
str5.append(str6, 2, 3);
cout<<str5<<endl;
str5.append(“world”, 3);
cout<<str5<<endl;
}

int main(int argc, char *argv[])
{
test03();
return 0;
}
在这里插入图片描述

4、字符串查找

在这里插入图片描述
查找网站 ip 地址中的所有的字符串 sex,并对字符串 sex 进行替换

void test04()
{
string str1=“http://www.sex.777.sex.999.sex.com”;
while(1)
{
int ret = str1.find(“sex”);
if(ret == -1)
break;

str1.replace(ret,3,“***”);
}

cout<<str1<<endl;
}

int main(int argc, char *argv[])
{
test04();
return 0;
}
在这里插入图片描述

4、字符串比较

void test05()
{
string str1 =“hehe”;
string str2 = “haha”;
if(str1.compare(str2) > 0 )
{
cout<<“大于”<<endl;
}
else if(str1.compare(str2) == 0)
{
cout<<“等于”<<endl;
}
else if(str1.compare(str2) < 0)
{
cout<<“小于”<<endl;
}
}

int main(int argc, char *argv[])
{
test05();
return 0;
}

在这里插入图片描述

5、字符串提取

将ip地址中的每一个字符串按照 : 提取

void test06()
{
string str1=“hehehe:hahaha:xixixi:lalala”;
int pos = 0; //记录子串的初始位置
while(1)
{
int ret = str1.find(“:”, pos); //从初始位置 0 开始查找 :的下标记并录位置
if(ret < 0) //查询lalala子串是否含有 :
{
string tmp = str1.substr(pos, str1.size()-pos);
cout<<tmp<<endl;
break;
}

string tmp = str1.substr(pos, ret-pos); //提取子串的宽度
cout<<tmp<<endl;

pos = ret+1; //提取一个子串之后的字符的起始位置
}
}

int main(int argc, char *argv[])
{
test06();
return 0;
}
在这里插入图片描述

6、插入和删除操作

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/411979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

深度学习数据集—水果数据集大合集

近期整理的各类水果&#xff08;包括干果&#xff09;数据集&#xff0c;分享给大家。 1、8类水果图片数据集&#xff08;每类100张图片左右&#xff09;[橘子&#xff0c;菠萝&#xff0c;苹果&#xff0c;木瓜&#xff0c;火龙果&#xff0c;香蕉&#xff0c;樱桃&#xff0…

系统升级 | RK3568开发平台成功搭载SylixOS国产实时操作系统

瑞芯微RK3568芯片是一款定位中高端的通用型SOC&#xff0c;采用22nm制程工艺&#xff0c;搭载一颗四核Cortex-A55处理器和Mali G52 2EE 图形处理器。RK3568 支持4K 解码和 1080P 编码&#xff0c;支持SATA/PCIE/USB3.0 外围接口。RK3568内置独立NPU&#xff0c;可用于轻量级人工…

【GPT4】微软 GPT-4 测试报告(5)与外界环境的交互能力

欢迎关注【youcans的AGI学习笔记】原创作品 微软 GPT-4 测试报告&#xff08;1&#xff09;总体介绍 微软 GPT-4 测试报告&#xff08;2&#xff09;多模态与跨学科能力 微软 GPT-4 测试报告&#xff08;3&#xff09;编程能力 微软 GPT-4 测试报告&#xff08;4&#xff09;数…

被裁了,39 岁阿里 P9,攒下 1.5 亿....

今天刷知乎&#xff0c;在问题 “40 岁因为财务自由决定不上班的人&#xff0c;个人资产总和到底有多少” 下看到一位阿里 P9 的匿名回答让我狠狠的酸了一把~ 这刚刚失业的四十岁高级码农自曝了自己的人生经历&#xff0c;作为一名“阿里 P9”的程序员&#xff0c;他讲述了自己…

重庆理工大学教授程平:智能会计时代,应充分发挥数据资产的价值

近日&#xff0c;由用友主办的「智能会计 价值财务」2023企业数智化财务创新峰会北京站在北京国家会计学院圆满举办&#xff01;来自知名院校的专家学者、央国企等大型企业财务领路人、以及权威财经媒体相约北京国家会计学院&#xff0c;一同见证“智能会计”新时代的到来&…

centos 搭建 wiki

需要安装软件 mysqlmm-wikinginx&#xff08;非必须&#xff09; mysql 1.查询本机是否安装mysql rpm -qa | grep mysql 如安装&#xff0c;知道mysql账号密码&#xff0c;可以直接使用&#xff0c;跳过此步骤 如已安装&#xff08;centos可能默认已安装mysql或者之前有人…

day13_oop

今日内容 零、 复习昨日 一、final 二、static 三、多态 四、向上转型&向下转型 五、多态应用 零、 复习昨日 封装 类的封装: 1 属性私有 2提供setget 继承 A extends B子类可以使用父类非私有属性和方法好处: 复用,多态准备 重写/覆写/覆盖/Override 子类重写父类的方法,以…

什么是雪花算法?啥原理?

1、SnowFlake核心思想 SnowFlake 算法&#xff0c;是 Twitter 开源的分布式 ID 生成算法。 其核心思想就是&#xff1a;使用一个 64 bit 的 long 型的数字作为全局唯一 ID。在分布式系统中的应用十分广泛&#xff0c;且 ID 引入了时间戳&#xff0c;基本上保持自增的&#xf…

关于ChatGPT人工智能浅谈

ChatGPT人工智能优点与不足 现今ChatGPT已经向我们展示了其强大的数据收集分析和处理能力&#xff0c;这点随着其不断的学习训练会越来越强。ChatGPT这类生成式人工智能在数据收集分析和处理能力这方面远远超过人类&#xff0c;虽然它目前还不能完全做到按人类的方式对数据进行…

常见的HTTP状态码及其含义

© Ptw-cwl HTTP是一种用于传输超文本数据的协议&#xff0c;在使用Java进行Web开发时&#xff0c;经常会涉及到HTTP状态码。以下是一些常见的HTTP状态码及其含义 概览 状态码含义1xx 信息性状态码指示请求已经被接受或者正在进行处理。100 Continue表示客户端可以继续发…

4月了,准备跳槽的可以看看

金三已经过去了&#xff0c;银四对于想跳槽的职场人来说&#xff0c;绝对要从现在开始做准备了。这时候&#xff0c;很多高薪技术岗、管理岗的缺口和市场需求也出来了。 所以准备4月跳槽、找工作的朋友&#xff0c;就一定要好好准备抓住机会&#xff0c;补一补自己的知识体系&…

第一章节 spring 概念与体系结构

1、Spring 概念 Spring 是 Java EE 编程领域的一款轻量级的开源框架&#xff0c;目标就是要简化 Java 企业级应用程序的开发难度和周期。 1.1、广义 Spring Framework、Spring MVC、SpringBoot、Spring Cloud、Spring Data、Spring Security 项目名称描述Spring DataSpring…

一 注册中心

一 什么是注册中心 注册中心可以说是微服务架构中的“通讯录”&#xff0c;它记录了服务和服务地址的映射关系。在分布式架构中&#xff0c;服务会注册到这里&#xff0c;当服务需要调用其它服务时&#xff0c;就到这里找到服务的地址&#xff0c;进行调用。 当我想给张三打电…

Windows系统管理_windows server 2016 文件系统与权限

文件系统概述 文件系统是操作系统用于明确存储设备&#xff08;磁盘、固态硬盘&#xff09;上组织文件的方法。从系统角度来 看&#xff0c;文件系统是对文件存储设备的空间进行组织和分配&#xff0c;负责文件存储并对存入的文件进行保护和 检索的系统。可以将一个文件连续地…

基于多种算法实现鸢尾花聚类

基于多种聚类算法实现鸢尾花聚类 描述 聚类&#xff08;Clustering&#xff09;属于无监督学习的一种&#xff0c;聚类算法是根据数据的内在特征&#xff0c;将数据进行分组&#xff08;即“内聚成类”&#xff09;&#xff0c;本任务我们通过实现鸢尾花聚类案例掌握Scikit-l…

Java阶段一Day20

Java阶段一Day20 文章目录Java阶段一Day20异常throwthrows检测异常和非检测异常常见的RuntimeException常见的catch中的方法&#xff08;ExceptionAPI&#xff09;自定义异常网络C/S 和 B/STCP 和 UDP三次握手四次挥⼿教师总结新单词异常处理throw关键字例throws关键字例throws…

python函数详解_INDEX函数

一. 函数的作用 函数就是将一段具有独立功能的代码块 整合到一个整体并命名&#xff0c;在需要的位置调用这个名称即可完成对应的需求。 函数在开发过程中&#xff0c;可以更高效的实现代码重用。 二. 函数的使用步骤 1. 定义函数 def 函数名(参数):代码1代码2...... 复制 …

一些算法知识整理

最近找工作&#xff0c;整理了一些算法知识&#xff0c;希望能帮助到同样在找工作的同学。 1、LR&#xff1a; 逻辑回归&#xff0c;用于分类问题&#xff0c;模型可以理解为 线性模型sigmoid函数&#xff1a;y11e−(wxb)y \frac{1}{1e^{-(wxb)}} y1e−(wxb)1​ 其优化目标是…

【Linux系统编程】10.open/close函数

目录 open 参数pathname 参数flags 主类 副类 参数mode 返回值 close 参数fp 测试代码 测试结果 错误处理函数 open 查看open函数 man 2 open 其中 #include <unistd.h> 包含 #include <sys/types.h> #include <sys/stat.h> 参数pathname 打开…

NodeRED学习(五)http websoket

HTTP定义响应内容&#xff1a; 注&#xff1a;可含请求参数 // msg.payload{ // "demo":"你好" // } msg.payload msg.req.query.content; return msg;支持浏览器请求测试&#xff1a;IP:1880/(URL) 组件验证请求&#xff1a; websocket消息: 工具参考…