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

7.第二阶段x64游戏实战-string类

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

上一个内容:7.第二阶段x64游戏实战-分析人物属性

string类是字符串类,在计算机中看到的所有文字、字母、数字都属于字符串

string类写好了一些代码可以很方便的对字符串进行操作,比如拼接字符串、找字符串中某个文字在什么位置、根据某个关键字拆分字符串等

visual studio 2017安装教学:14.第二阶段x86游戏实战2-C++语言开发环境搭建-VisualStudio2017

首先打开visual studio 2017,打开之后如下图,新建一个项目

然后选择控制台应用,下图中2位置是修改代码存放的位置

创建完会有默认的代码,如下图红框,直接全删了

项目创建好,开始string类的使用

string的声明与定义

#include <string>
int main() {// std可以理解为一个仓库的名字,string是std仓库中的一个东西std::string s1;s1 = "第一种字符串定义方式";std::string s2 = "第二种字符串定义方式";
}

不写std::的方式,加一句using namespace std;就可以了

#include <string>
using namespace std;
int main() {// std可以理解为一个仓库的名字,string是std仓库中的一个东西string s1;s1 = "第一种字符串定义方式";string s2 = "第二种字符串定义方式";
}

string类获取字符串

#include <string>
using namespace std;
int main() {char* aaa = (char*)"计算机王";string s2 = aaa;// c_str()用来获取字符串printf("s2 = %s",s2.c_str());
}

效果图:

得到字符串的长度

#include <string>
using namespace std;
int main() {char* aaa = (char*)"计算机王";string s2 = aaa;// c_str()用来获取字符串printf("s2 = %s\n",s2.c_str());// length()获取字符串的字节数printf("s2的长度 = %d",s2.length());
}

效果图:一个中文2字节

英文:一个英文1字节

通过序号(数组)的方式修改字符串

#include <string>
using namespace std;
int main() {char* aaa = (char*)"jiwang";string s2 = aaa;// 通过序号修改字符串s2[5] = 'a';s2[4] = 'a';// c_str()用来获取字符串printf("s2 = %s\n",s2.c_str());printf("s2的长度 = %d",s2.length());
}

效果图:

拼接字符串

#include <string>
using namespace std;
int main() {char* aaa = (char*)"jiwang";string s2 = aaa;string s3 = "woshi";// 使用加号拼接字符串string s4 = s3+ s2;// c_str()用来获取字符串printf("s2 = %s\n", s4.c_str());printf("s2的长度 = %d", s4.length());
}

效果图:

比较字符串

#include <string>
using namespace std;
int main() {char* aaa = (char*)"3";string s2 = aaa;string s3 = "2";if (s2 < s3) {printf("s2 < s3");}else if (s2 > s3) {printf("s2 > s3");}else if(s2 == s3){printf("s2 == s3");}
}

效果图:

拆分字符串

#include <string>
using namespace std;
int main() {// 用空格拆分aaastring s1 = (char*)"1 2 3 4 5 6";string arr[6];char chaiFenTiaoJian = ' ';int 当前位置 = 0;int 开始位置 = 0;// find给他一个字符,它会从字符串中找这个字符的位置int 结束位置 = s1.find(chaiFenTiaoJian);// string::npos表示字符串的结尾while (结束位置 != string::npos) {// substr截取字符串,substr(0,2)的意思是获取0位置到2位置之间的数据arr[当前位置] = s1.substr(开始位置, 结束位置-开始位置);当前位置++;开始位置 = 结束位置 + 1;// find(chaiFenTiaoJian, 开始位置)意思是从 开始位置 开始找chaiFenTiaoJian出现的位置结束位置 = s1.find(chaiFenTiaoJian, 开始位置);}// 获取最后一段数据arr[当前位置] = s1.substr(开始位置);// 现在的当前位置的值表示了拆分的几段数据for (size_t i = 0; i <= 当前位置; i++){printf("%s\n", arr[i].c_str());}}

效果图:使用空格拆分


img

相关文章:

7.第二阶段x64游戏实战-string类

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;7.第二阶段x64游戏实战-分析人物属性 string类是字符串类&#xff0c;在计算机中…...

【debug莫名其妙跑飞了】

现象&#xff1a;就是在初始化汇编里跑飞了&#xff0c;也可能运行起来时钟不对 原因&#xff1a;调试器调试程序时会执行reset复位&#xff0c;reset没有正确执行。 细节决定成败&#xff0c;事出反常必有妖&#xff0c;忽略的小卡拉米最后能玩死你啊...

【Git 常用操作指令指南】

一、初始化与配置 1. 设置全局账户信息 git config --global user.name "用户名" # 设置全局用户名 git config --global user.email "邮箱" # 设置全局邮箱 --global 表示全局生效&#xff0c;若需针对单个仓库配置&#xff0c;可省略该参数 2.…...

基础知识补充篇:什么是DAPP前端连接中的provider

专栏:区块链入门到放弃查看目录-CSDN博客文章浏览阅读352次。为了方便查看将本专栏的所有内容列出目录,按照顺序查看即可。后续也会在此规划一下后续内容,因此如果遇到不能点击的,代表还没有更新。声明:文中所出观点大多数源于笔者多年开发经验所总结,如果你想要知道区块…...

openssl源码分析之加密模式(modes)

openssl实现分组加密模式&#xff08;例如AES128-CBC的CBC部分&#xff09;的模块名字叫做modes&#xff0c;源代码位于 https://gitee.com/gh_mirrors/openssl/tree/master/crypto/modes 博主又打不开github了TT&#xff0c;只能找个gitee镜像 头文件是modes.h。 该模块目前…...

【PVR】《Palm Vein Recognition and Large-scale Research based on Deep Learning》

邬晓毅. 基于深度学习的掌静脉识别及规模化研究[D]. 四川:电子科技大学,2024. 文章目录 1、背景2、相关工作3、创新点和贡献4、方法和实验4.1、知识介绍4.2、基于自适应损失函数的掌静脉识别算法研究4.3、退化图像的掌静脉识别鲁棒性提升研究4.4、掌静脉识别系统规模化 5、总结…...

ES6规范新特性总结

ES6新特性 var、let和const不存在变量提升暂时性死区不允许重复声明 解构赋值用途&#xff1a;交换变量的值从函数返回多个值提取JSON数据遍历map结构输入模块的制定方法 字符串的扩展codePointAt()String.fromCharCode()at()includes(),startsWith(),endsWith()repeat()padSta…...

PyQt学习记录

PyQt学习记录 要在界面上 创建一个控件&#xff0c;就需要在程序代码中 创建 这个 控件对应类 地一个 实例对象。 在Qt系统中&#xff0c;控件&#xff08;widget&#xff09;是 层层嵌套 的&#xff0c;除了最顶层的控件&#xff0c;其他的控件都有父控件。 几个函数 函数mo…...

嵌入式硬件篇---Uart和Zigbee

文章目录 前言一、UART&#xff08;通用异步收发传输器&#xff09;1. 基本概念2. 工作原理帧结构起始位数据位校验位停止位 异步通信波特率 3. 特点优点缺点 4. 典型应用 二、ZigBee1. 基本概念2. 技术细节工作频段2.4GHz868MHz 网络拓扑星型网络网状网络簇状网络 协议栈物理层…...

代码随想录算法训练营--打卡day8

一.反转字符串II 1.题目链接 541. 反转字符串 II - 力扣&#xff08;LeetCode&#xff09; 2.思路 循环分组定位&#xff1a;使用 for 循环&#xff0c;每2k为一组。i 每次增加 2k &#xff0c;就相当于定位到下一组字符的起始位置。在每次循环中&#xff0c;确定当前组需要…...

Linux 学习笔记(5)路径知识详解:绝对路径、相对路径与特殊路径符(期末、期中复习必备)

前言 一、相对路径与绝对路径 1、概念阐述 2、实际示例 二、特殊路径符 1.特殊路径符介绍 2.应用场景 三、总结 四、结语 前言 在 Linux 系统的学习过程中&#xff0c;路径的概念至关重要&#xff0c;它是我们在文件系统中定位文件和目录的关键。今天&#xff0c;我们就…...

Trae + LangGPT 生成结构化 Prompt

Trae LangGPT 生成结构化 Prompt 0. 引言1. 安装 Trae2. 克隆 LangGPT3. Trae 和 LangGPT 联动4. 集成到 Dify 中 0. 引言 Github 上 LangGPT 这个项目&#xff0c;主要向我们介绍了写结构化Prompt的一些方法和示例&#xff0c;我们怎么直接使用这个项目&#xff0c;辅助我们…...

【ida】ida笔记

1 ida下载 IDA Pro 7.0 Windows 和 macOS 版本&#xff0c;包含全部 F5 插件 - 资源分享 - iOS 安全论坛 - 专注于研究 iOS 安全 - iOS Hacker 2 IDA基操 1 shiftF12 查看string信息 (通常可以看到重要的信息 ) 2 Alt T 查找带有目标字符串的函数 3 F5 查看C代码 4 Ctrl F…...

动态规划——两个数组的dp问题

目录 1. 最长公共子序列 2. 不相交的线 3. 不同的子序列 4. 通配符匹配 5. 正则表达式匹配 6. 交错字符串 7. 两个字符串的最小ASCII删除和 8. 最长重复子数组 1. 最长公共子序列 题目链接&#xff1a;1143. 最长公共子序列 - 力扣&#xff08;LeetCode&#xff0…...

stream流Collectors.toMap(),key值重复问题

文章目录 一、问题二、问题示例三、原因四、解决方法4.1、方案一 一、问题 发现Collectors.toMap的一个坑&#xff0c;若key值重复的时候会抛异常。如&#xff1a; IllegalStateException: Duplicate key 男 二、问题示例 报错示例如下&#xff1a; import lombok.AllArgsC…...

机器学习 Day10 逻辑回归

1.简介 流程就是&#xff1a; 就是我们希望回归后激活函数给出的概率越是1和0. 2.API介绍 sklearn.linear_model.LogisticRegression 是 scikit-learn 库中用于实现逻辑回归算法的类&#xff0c;主要用于二分类或多分类问题。以下是对其重要参数的详细介绍&#xff1a; 2.1.…...

即时通讯软件BeeWorks,企业如何实现细粒度的权限控制?

BeeWorks作为一款专为企业设计的即时通讯平台&#xff0c;高度重视用户隐私安全&#xff0c;采取了多种措施来保障数据的保密性、完整性和可用性。 首先&#xff0c;BeeWorks采用私有化部署模式&#xff0c;企业可以将服务器架设在自己的网络环境中&#xff0c;所有通讯数据&a…...

Seq2Seq - Dataset 类

本节代码定义了一个 CMN 类&#xff0c;它继承自 PyTorch 的 Dataset 类&#xff0c;用于处理英文和中文的平行语料库。这个类的主要作用是将文本数据转换为模型可以处理的格式&#xff0c;并进行必要的填充操作&#xff0c;以确保所有序列的长度一致。 ⭐重写Dataset类是模型训…...

学习OpenCV C++版

OpenCV C 1 数据载入、显示与保存1.1 概念1.2 Mat 类构造与赋值1.3 Mat 类的赋值1.4 Mat 类支持的运算1.5 图像的读取与显示1.6 视频加载与摄像头调用1.7 数据保存 参考&#xff1a;《OpenCV4快速入门》作者冯 振 郭延宁 吕跃勇 1 数据载入、显示与保存 1.1 概念 Mat 类 : Ma…...

echarts图表相关

echarts图表相关 echarts官网折线图实际开发场景一&#xff1a; echarts官网 echarts官网 折线图 实际开发场景一&#xff1a; 只有一条折线&#xff0c;一半实线&#xff0c;一半虚线。 option {tooltip: {trigger: "axis",formatter: (params: any) > {const …...

idea自动部署jar包到服务器Alibaba Cloud Toolkit

安装插件&#xff1a;Alibaba Cloud Toolkit 配置服务器: 服务器配置&#xff1a; 项目启动Shell脚本命令: projectpd-otb.jar echo 根据项目名称查询对应的pid pid$(pgrep -f $project); echo $pid echo 杀掉对应的进程&#xff0c;如果pid不存在&#xff0c;则不执行 if [ …...

奥利司他

https://m.baidu.com/bh/m/detail/ar_9900965142893895938 奥利司他&#xff08;四氢脂抑素&#xff09;是一种众所周知的胰腺和胃脂肪酶不可逆抑制剂 生物活性&#xff1a;奥利司他&#xff08;四氢脂抑素&#xff09;是一种众所周知的胰腺和胃脂肪酶不可逆抑制剂。奥利司…...

Element Plus 图标使用方式整理

Element Plus 图标使用方式整理 以下是 Element Plus 图标的所有使用方式&#xff0c;包含完整代码示例和总结表格&#xff1a; 1. 按需引入图标组件 适用场景&#xff1a;仅需少量图标时&#xff0c;按需导入减少打包体积 示例代码&#xff1a; <template><div>…...

链路聚合+vrrp

1.链路聚合 作用注意事项将多个物理接口&#xff08;线路&#xff09;逻辑上绑定在一起形成一条逻辑链路&#xff0c;起到叠加带宽的作用1.聚合接口必须转发速率一致。2.聚合设备两端必须一致 配置命令 方法一 [Huawei]interface Eth-Trunk 0----先创建聚合接口&#xff0c;…...

Dynamics 365 Business Central Register Customer Payment 客户付款登记

#Dynamics 365 BC ERP# #D365 ERP# #Navision 前言 在实施过程&#xff0c;经常给客户介绍的 给客户付款一般用Payment Journal. 在客户熟悉系统运行后&#xff0c;往往会推荐客户使用Register Customer Payment.用这个function 工作会快很多&#xff0c;但出错的机会也比较大…...

Odoo免费开源ERP:企业销售过程中出现的问题

在企业未上线Odoo免费开源ERP时&#xff0c;企业销售过程中会存在失误。比如&#xff0c;许多销售订单都有如下问题&#xff1a;不当的定价、向客户过多地询问、处理订单延误、错过发货日期等。这些问题源于企业三个未集成的信息系统&#xff1a;销售管理系统、库存系统和财务系…...

手撕unique_ptr 和 shareed_ptr

文章目录 unique_ptrshared_ptr unique_ptr template<class T> class Unique_ptr { private:T* ptrNULL; public://1、删除默认的拷贝构造函数Unique_ptr(Unique_ptr& u) delete;//2、删除默认的复制构造Unique_ptr& operator(Unique_ptr& u) delete; …...

工会考试的重点内容是什么

工会考试的内容通常涵盖以下几个方面&#xff1a; 1、政治理论&#xff1a; 主要考查考生对马克思主义基本原理、中国特色社会主义理论体系、党的基本路线、方针、政策等方面的掌握程度。题型通常包括选择题、判断题和论述题。 2、法律法规&#xff1a; 这部分主要涉及国家…...

网络稳定性--LCA+最大生成树+bfs1/dfs1找最小边

1.最大生成树去除重边&#xff0c;只要最大的边成树 2.LCA查最近公共祖先&#xff0c;然后询问的lca(x,y)ff,分别从x,y向上找最小边 3.bfs1/dfs1就是2.中向上找的具体实现 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typede…...

混合并行技术在医疗AI领域的应用分析(代码版)

混合并行技术(专家并行/张量并行/数据并行)通过多维度的计算资源分配策略,显著提升了医疗AI大模型的训练效率与推理性能。以下结合技术原理与医疗场景实践,从策略分解、技术对比、编排优化及典型案例等维度展开分析: 一、混合并行技术:突破单卡算力限制 1. 并行策略三维分…...