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()…...
多线程---单例模式
文章目录 什么是单例模式?饿汉模式懒汉模式版本一:最简单的懒汉模式版本二:考虑懒汉模式存在的线程安全问题版本三:更完善的解决线程安全问题版本四:解决指令重排序问题 什么是单例模式? 单例模式…...

SpringBoot相比于Spring的优点(自动配置和依赖管理)
自动配置 例子见真章 我们先看一下我们Spring整合Druid的过程,以及我们使用SpringBoot整合Druid的过程我们就知道我们SpringBoot的好处了。 Spring方式 Spring方式分为两种,第一种就是我们使用xml进行整合,第二种就是使用我们注解进行简化…...

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

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 装箱和拆箱(*)11.8 结构作为返回值和参数11…...

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

Redis原理-IO模型和持久化
高性能IO模型 为什么单线程Redis能那么快 一方面,Redis 的大部分操作在内存上完成,再加上它采用了高效的数据结构,例如哈希表和跳表,这是它实现高性能的一个重要原因。另一方面,就是 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机制特别容易理解,就是物理内存的自动清理工。我们可以把内存想象成一个房间,程序运行时会在这个房间里存放各种东西,但有时候我们会忘记把不再需要的东西拿出去,…...

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

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

通过Metasploit+Ngrok穿透内网长期维持访问外网Android设备
前言: 因为之前作为小白我不会在Kali Linux里面把IP映射出外网,卡在那个地方很久,后来解决了这个问题就写方法出来和大家分享分享。 环境: Kali Linux系统(https://www.kali.org/downloads/) Metasploit Ngrok Linux64位的端口转发工具(htt…...
STM32 CubeMX配置USB HID功能,及安装路径
STM32CubeMX学习笔记(46)——USB接口使用(HID自定义设备) STM32CubeMX实现STM32 USBHID双向64字节通信(下位机部分) STM32 USB HID设置(STM32CubeMX) 关于keil 5安装出现Fail to set path to Software Packs.问题解决方法...

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

Mac 配置环境变量
Mac 配置环境变量 修改配置文件 vim ~/.bash_profile i进入编辑模式. Esc:wq 保存文件 esc:q 退出 如: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,以及pytorch卸载 1,安装anaconda1.1 下载anaconda安装包1.2 安装anaconda1.3 设计环境变量1.4 安装完成验证 2 Anaconda安装pytorch2.1 创建虚拟环境2.2 查看现存环境2.3 激活环境2.4 选择合适的pytorch版本下…...

ansble
ansble概述 Ansible是一款自动化运维工具,基于Python开发,具有批量系统配置,批量程序部署, 批量运行命令等功能。 Ansible的很多模块在执行时都会先判断目标节点是否要执行任务,所以,可以放心大胆地让Ansible去执行任务…...
git常见命令(持续更新)
判断是否为git项目 一个repo可以由多个git项目组成,一般每个git项目的根目录下都会有**.git**的文件夹;使用任何git命令前都需要打开到git项目文件下面。 git log 不带参数 // 查看本次commit修改的地方 git log-p // 可以查看FileName从建立到现在…...
Python基础入门例程23-NP23 删除好友(列表)
最近的博文: Python基础入门例程22-NP22 删除简历(列表)-CSDN博客 Python基础入门例程21-NP21 增加派对名单(二)(列表)-CSDN博客 Python基础入门例程20-NP20 增加派对名单(一&#x…...
识别鼠标选中actor_vtkInteractorStyleTrackballActor
开发环境: Windows 11 家庭中文版Microsoft Visual Studio Community 2019VTK-9.3.0.rc0vtk-example参考代码目的:学习与总结 demo解决问题:通过自定义vtkInteractorStyle类中成员函数OnLeftButtonDown,判断鼠标当前选中的是哪个…...

Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
工程地质软件市场:发展现状、趋势与策略建议
一、引言 在工程建设领域,准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具,正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)
推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)
本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...
Vite中定义@软链接
在webpack中可以直接通过符号表示src路径,但是vite中默认不可以。 如何实现: vite中提供了resolve.alias:通过别名在指向一个具体的路径 在vite.config.js中 import { join } from pathexport default defineConfig({plugins: [vue()],//…...

《Docker》架构
文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器,docker,镜像,k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...
DiscuzX3.5发帖json api
参考文章:PHP实现独立Discuz站外发帖(直连操作数据库)_discuz 发帖api-CSDN博客 简单改造了一下,适配我自己的需求 有一个站点存在多个采集站,我想通过主站拿标题,采集站拿内容 使用到的sql如下 CREATE TABLE pre_forum_post_…...