当前位置: 首页 > news >正文

C++之string

C++之string

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

#include <iostream>using namespace std;/*string();//创建一个空的字符串string(const char* s);//使用字符串s初始化string(const string& str);//使用一个string对象初始化另外一个string对象string(int n,char c);//使用n个字符c初始化*/void test1()
{string s1;//默认构造const char *str = "hello woreld!";string s2(str);cout << "s2 = "<<s2<<endl;string s3(s2);cout << "s3 = "<<s3<<endl;string s4(5,'b');cout << "s4 = "<<s4<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

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

#include <iostream>
#include<string>
using namespace std;/*
string& operator=(const char* s);//char*类型字符串 赋值给当前的字符串
string& operator=(const string &s);//把字符串s赋给当前的字符串
string& operator=(char c);//字符赋值给当前的字符串
string& assign(const char *s);//把字符串s赋给当前的字符串
string& assign(const char *s, int n);//把字符串s的前n个字符赋给当前的字符串
string& assign(const string &s);//把字符串s给当前字符串
string& assign(int n, char c);//用n个字符c赋给当前字符串*/void test1()
{string s1 = "hello woreld!";cout << "s1 = "<<s1<<endl;string s2(s1);cout << "s2 = "<<s2<<endl;string s3 ;s3 = 'b';cout << "s3 = "<<s3<<endl;string s4;s4.assign("hello woreld!");cout << "s4 = "<<s4<<endl;string s5;s5.assign("hello woreld!",5);cout << "s5 = "<<s5<<endl;string s6;s6.assign(s5);cout << "s6 = "<<s6<<endl;string s7;s7.assign(5,'b');cout << "s7 = "<<s7<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

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

#include <iostream>
#include<string>
using namespace std;/*
string& operator+=(const char* str);//重载+=操作符
string& operator+=(const char c);//重载+=操作符
string& operator+=(const string& str);//重载+=操作符
string& append(const char *s);//把字符串s连接到当前字符串结尾
string& append(const char *s, int n);//把字符串s的前n个字符连接到当前字符串结尾
string& append(const string &s);//同operator+=(const string& str)
string& append(const string &s,int pos,int n); //字符s中从pos开始的n个字符连接到字符串结尾*/void test1()
{string s1 = "I";cout << "s1 = "<<s1<<endl;s1 += " LOVE GAME";cout << "s1 = "<<s1<<endl;string s2 = ":";s1 += s2;cout << "s1 = "<<s1<<endl;// s1.append(" LOL DNF");// s1.append(" LOL DNF",4);string s3 = " LOL DNF";//s1.append(s3);s1.append(s3,0,4);cout << "s1 = "<<s1<<endl;}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

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

#include <iostream>
#include<string>
using namespace std;//查找
void test1()
{string str1 = "abcdefgde";int pos = str1.find("de");if(pos == -1){cout<<"no find"<<endl;}else{cout<<"finded , pos = "<<pos<<endl;}//find和rfind的区别//find:从左往右查找;rfind:从右往左查找int pos2 = str1.rfind("de");if(pos2 == -1){cout<<"no find"<<endl;}else{cout<<"finded , pos = "<<pos2<<endl;}
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

void test2()
{string str1 = "abcdefgde";//将bc替换成2222str1.replace(1,3,"2222");cout<<str1<<endl;
}
int main()
{test2();cout << "Hello World!" << endl;return 0;
}

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

#include <iostream>
#include<string>
using namespace std;//查找
void test1()
{string str1 = "hello";string str2 = "xello";if(str1.compare(str2) == 0){cout<<"str1 = str2"<<endl;}else if(str1.compare(str2) > 0){cout<<"str1 > str2"<<endl;}else{cout<<"str1 < str2"<<endl;}
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

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

#include <iostream>
#include<string>
using namespace std;//string字符存取
void test1()
{string str1 = "hello";//cout<<"str1 = "<<str1<<endl;//通过[]访问单个字符for(unsigned int i = 0;i < str1.size();i++){cout<<str1[i]<<" ";}cout<<endl;//通过at方式访问单个字符for(unsigned int i = 0;i<str1.size();i++){cout<<str1.at(i)<<" ";}cout<<endl;//通过[]修改单个字符str1[0] = 'x';cout<<"str1 = "<<str1<<endl;//通过at方式修改单个字符str1.at(1) = 'x';cout<<"str1 = "<<str1<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

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

#include <iostream>
#include<string>
using namespace std;//string字符插入和删除
void test1()
{string str1 = "hello";cout<<"str1 = "<<str1<<endl;//插入str1.insert(1,"222");cout<<"str1 = "<<str1<<endl;//删除str1.erase(1,3);cout<<"str1 = "<<str1<<endl;
}int main()
{test1();cout << "Hello World!" << endl;return 0;
}

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

#include <iostream>
#include<string>
using namespace std;//string字符中求子串
void test1()
{string str1 = "hello";cout<<"str1 = "<<str1<<endl;string subStr = str1.substr(2,2);cout<<"subStr = "<<subStr<<endl;
}//使用的例子  获取邮箱的用户名
void test2()
{string str2 = "zhangsan@sina.com";int pos = str2.find("@");string subStr = str2.substr(0,pos);cout<<"subStr = "<<subStr<<endl;
}int main()
{test2();cout << "Hello World!" << endl;return 0;
}

在这里插入图片描述

相关文章:

C++之string

C之string #include <iostream>using namespace std;/*string();//创建一个空的字符串string(const char* s);//使用字符串s初始化string(const string& str);//使用一个string对象初始化另外一个string对象string(int n,char c);//使用n个字符c初始化*/void test1()…...

多线程---单例模式

文章目录 什么是单例模式&#xff1f;饿汉模式懒汉模式版本一&#xff1a;最简单的懒汉模式版本二&#xff1a;考虑懒汉模式存在的线程安全问题版本三&#xff1a;更完善的解决线程安全问题版本四&#xff1a;解决指令重排序问题 什么是单例模式&#xff1f; 单例模式&#xf…...

SpringBoot相比于Spring的优点(自动配置和依赖管理)

自动配置 例子见真章 我们先看一下我们Spring整合Druid的过程&#xff0c;以及我们使用SpringBoot整合Druid的过程我们就知道我们SpringBoot的好处了。 Spring方式 Spring方式分为两种&#xff0c;第一种就是我们使用xml进行整合&#xff0c;第二种就是使用我们注解进行简化…...

SAP SPAD新建打印纸张

SAP SPAD新建打印纸张 1.事务代码SPAD 2.完全管理&#xff0d;设备类型&#xff0d;页格式-显示(创建格式页) 3.按标准A4纸张为模板参考创建。同一个纸张纵向/横向各创建1次(创建格式页) 4.完全管理&#xff0d;设备类型&#xff0d;格式类型-显示(创建格式类型&#xff0…...

C# 图解教程 第5版 —— 第11章 结构

文章目录 11.1 什么是结构11.2 结构是值类型11.3 对结构赋值11.4 构造函数和析构函数11.4.1 实例构造函数11.4.2 静态构造函数11.4.3 构造函数和析构函数小结 11.5 属性和字段初始化语句11.6 结构是密封的11.7 装箱和拆箱&#xff08;*&#xff09;11.8 结构作为返回值和参数11…...

车载电子电器架构 —— 基于AP定义车载HPC

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节…...

Redis原理-IO模型和持久化

高性能IO模型 为什么单线程Redis能那么快 一方面&#xff0c;Redis 的大部分操作在内存上完成&#xff0c;再加上它采用了高效的数据结构&#xff0c;例如哈希表和跳表&#xff0c;这是它实现高性能的一个重要原因。另一方面&#xff0c;就是 Redis 采用了多路复用机制&#…...

PID控制示例

PID控制简单示例 import numpy as np import matplotlib.pyplot as plt import copy# 定义曲线函数 y sin(x) def target_curve(x):return np.sin(x)class PID:def __init__(self, kp, ki, kd):self.kp kpself.ki kiself.kd kdself.ep 0.0self.ei 0.0self.ed 0.0self.d…...

GoLand GC(垃圾回收机制)简介及调优

GC(Garbage Collector)垃圾回收机制及调优 简单理解GC机制 其实gc机制特别容易理解&#xff0c;就是物理内存的自动清理工。我们可以把内存想象成一个房间&#xff0c;程序运行时会在这个房间里存放各种东西&#xff0c;但有时候我们会忘记把不再需要的东西拿出去&#xff0c…...

AI:40-基于深度学习的森林火灾识别

🚀 本文选自专栏:AI领域专栏 从基础到实践,深入了解算法、案例和最新趋势。无论你是初学者还是经验丰富的数据科学家,通过案例和项目实践,掌握核心概念和实用技能。每篇案例都包含代码实例,详细讲解供大家学习。 📌📌📌本专栏包含以下学习方向: 机器学习、深度学…...

37基于MATLAB平台的图像去噪,锐化,边缘检测,程序已调试通过,可直接运行。

基于MATLAB平台的图像去噪&#xff0c;锐化&#xff0c;边缘检测&#xff0c;程序已调试通过&#xff0c;可直接运行。 37matlab边缘检测图像处理 (xiaohongshu.com)...

通过Metasploit+Ngrok穿透内网长期维持访问外网Android设备

前言: 因为之前作为小白我不会在Kali Linux里面把IP映射出外网&#xff0c;卡在那个地方很久&#xff0c;后来解决了这个问题就写方法出来和大家分享分享。 环境&#xff1a; Kali Linux系统(https://www.kali.org/downloads/) Metasploit Ngrok Linux64位的端口转发工具(htt…...

STM32 CubeMX配置USB HID功能,及安装路径

STM32CubeMX学习笔记&#xff08;46&#xff09;——USB接口使用&#xff08;HID自定义设备&#xff09; STM32CubeMX实现STM32 USBHID双向64字节通信(下位机部分) STM32 USB HID设置(STM32CubeMX) 关于keil 5安装出现Fail to set path to Software Packs.问题解决方法...

【错误解决方案】ModuleNotFoundError: No module named ‘transformers‘

1. 错误提示 在python程序中&#xff0c;尝试导入一个名为transformers的模块&#xff0c;但Python提示找不到这个模块。 错误提示&#xff1a;ModuleNotFoundError: No module named ‘transformers‘ 2. 解决方案 所遇到的问题是Python无法找到名为transformers的模块&am…...

Mac 配置环境变量

Mac 配置环境变量 修改配置文件 vim ~/.bash_profile i进入编辑模式. Esc&#xff1a;wq 保存文件 esc:q 退出 如&#xff1a;jdk环境变量配置 JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_361.jdk/Contents/Home CLASSPATH J A V A H O M E / l i b / t o o l…...

如何在linux服务器上安装Anaconda与pytorch,以及pytorch卸载

如何在linux服务器上安装Anaconda与pytorch&#xff0c;以及pytorch卸载 1&#xff0c;安装anaconda1.1 下载anaconda安装包1.2 安装anaconda1.3 设计环境变量1.4 安装完成验证 2 Anaconda安装pytorch2.1 创建虚拟环境2.2 查看现存环境2.3 激活环境2.4 选择合适的pytorch版本下…...

ansble

ansble概述 Ansible是一款自动化运维工具&#xff0c;基于Python开发&#xff0c;具有批量系统配置,批量程序部署, 批量运行命令等功能。 Ansible的很多模块在执行时都会先判断目标节点是否要执行任务&#xff0c;所以&#xff0c;可以放心大胆地让Ansible去执行任务&#xf…...

git常见命令(持续更新)

判断是否为git项目 一个repo可以由多个git项目组成&#xff0c;一般每个git项目的根目录下都会有**.git**的文件夹&#xff1b;使用任何git命令前都需要打开到git项目文件下面。 git log 不带参数 // 查看本次commit修改的地方 git log-p // 可以查看FileName从建立到现在…...

Python基础入门例程23-NP23 删除好友(列表)

最近的博文&#xff1a; Python基础入门例程22-NP22 删除简历&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程21-NP21 增加派对名单&#xff08;二&#xff09;&#xff08;列表&#xff09;-CSDN博客 Python基础入门例程20-NP20 增加派对名单&#xff08;一&#x…...

识别鼠标选中actor_vtkInteractorStyleTrackballActor

开发环境&#xff1a; Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码目的&#xff1a;学习与总结 demo解决问题&#xff1a;通过自定义vtkInteractorStyle类中成员函数OnLeftButtonDown&#xff0c;判断鼠标当前选中的是哪个…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

服务器硬防的应用场景都有哪些?

服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式&#xff0c;避免服务器受到各种恶意攻击和网络威胁&#xff0c;那么&#xff0c;服务器硬防通常都会应用在哪些场景当中呢&#xff1f; 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...

Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级

在互联网的快速发展中&#xff0c;高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司&#xff0c;近期做出了一个重大技术决策&#xff1a;弃用长期使用的 Nginx&#xff0c;转而采用其内部开发…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

Element Plus 表单(el-form)中关于正整数输入的校验规则

目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入&#xff08;联动&#xff09;2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

稳定币的深度剖析与展望

一、引言 在当今数字化浪潮席卷全球的时代&#xff0c;加密货币作为一种新兴的金融现象&#xff0c;正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而&#xff0c;加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下&#xff0c;稳定…...

Mysql中select查询语句的执行过程

目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析&#xff08;Parser&#xff09; 2.4、执行sql 1. 预处理&#xff08;Preprocessor&#xff09; 2. 查询优化器&#xff08;Optimizer&#xff09; 3. 执行器…...