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

【类型商店】字符字符串(下)

啊,哈喽,小伙伴们大家好。我是#Y清墨,今天呐,我要介绍的是字符与字符串。 

导语

前两期,我们已经懂得了概念,今天来看些函数。

正题

一.增加或连接 +=

(1) 后面增加(+=)
string s1,s2;   //定义 s1,s2 串s1=”abcd”;  //s2 后面增加 s1s2 += s1;cout<<s2<<endl;// 输出1s1 += s2;cout<<s1<<endl;// 输出2

 

输出1:abcd

输出2: abcdabcd

(2) 连接(+)
string s1,s2;  //定义 s1,s2 串s1="abcd";  //赋值s2="xyz";  //赋值s1=s2+"1234";  //连接后给 s1cout<<s1<<endl;// 输出3cout<<s1+"*"+s2;// 输出4

 

输出3:xyz1234

输出4: xyz1234*xyz

(3) 常见错误
s1 = "abcd"+"xyz";

 

错误信息 :

[Error]   invalid   operands   of   types…… 'operator+'

 

错误原因:

"常量字符串" 之间不可以相加,"+" 号,两边至少要有一个 string 类型的变量。

二.查找子串 find

(1) find
//在 s1 中找 s2 的出现的第一个位置为3(下标从0开始)
//没有找到子串, 则结果为-1string s1="abcdabcd";string s2="da";string s3=”abx”;cout<< s1.find(s2)<<endl; //输出5if( s1.find(s3)==-1)  //输出6cout<<"not find s3"<<endl;else cout<<"find s3"<<endl;

 

输出5:3

输出6: not find s3

(2) 扩展

//从 s1 的第 2 个位置开始向后找"ab",输出找到的位置
string s1="abcdabcd";cout<<s1.find("ab",2)<<endl;  //输出7

 

输出7: 4

三.取子串(substr)

(1) substr
string s1="abcdabcd";  //赋值cout<<s1.substr(2)<<endl;  //从位置 2 开始,一直截取到最后, 返回的是 cdabcdcout<<s1.substr(2,3)<<endl; //从位置 2 开始,截取长度是 3 的子串,返回的是 cdacout<<s1.substr(3,4)<<endl;  //从位置 3 开始,截取长度是 4 的子串, 返回的是 dabccout<<s1.substr(3,20);  //从位置3开始,截取长度是 20 的子串,由于超过 s1 的 长度,只取剩下的,所以返回 dabcd

 

substr(位置,长度); 第二个参数可有可无,当没有第二个参数的时候,就从开始位置到结束全部取

(2)常见错误
string s1="abcdabcd";
int i=30;   
cout<<s1.substr(i)<<endl;  //当第一个位置参数超出"字符串长度-1"时, 会出错!cout<<s1.substr(i,2)<<endl;  //i太大,同样会出错!

 

四. 比较(>,<...)

  1. string 类的比较大小非常简单:直接用 > , < , >= , <= , != , == 关系运算就可以了。如: if ("abc">s1) ... .

  2. 如果是char数组,则需要使用 strcmp(s1,s2)函数,其中 s1 和 s2 是字符 char 数组的名字。比较字符串1和字符串2的大小,比较的结果由函数带回;

    • 如果字符串1>字符串2,返回一个正整数;
    • 如果字符串1=字符串2,返回0;
    • 如果字符串1<字符串2,返回一个负整数;

相关文章:

【类型商店】字符字符串(下)

啊&#xff0c;哈喽&#xff0c;小伙伴们大家好。我是#Y清墨&#xff0c;今天呐&#xff0c;我要介绍的是字符与字符串。 导语 前两期&#xff0c;我们已经懂得了概念&#xff0c;今天来看些函数。 正题 一.增加或连接 &#xff08;1) 后面增加() string s1,s2; //定义 s…...

『 Linux 』内存管理与文件系统

文章目录 交换分区页与页框(页帧)交换分区与内存之间的交换操作系统如何管理内存物理地址转换页号与页内偏移量 内存管理,文件系统与文件管理之间的联系 交换分区 在Linux的安装过程中,用户将会被提示创建一个交换分区; 这是一个特殊的分区,其大小可以由用户根据系统内存需求和…...

线性代数|机器学习-P8矩阵低秩近似eckart-young

文章目录 1. SVD奇异值分解2. Eckart-Young2.1 范数 3. Q A Q U Σ V T QAQU\Sigma V^T QAQUΣVT4. 主成分分析图像表示 1. SVD奇异值分解 我们知道&#xff0c;对于任意矩阵A来说&#xff0c;我们可以将其通过SVD奇异值分解得到 A U Σ V T AU\Sigma V^T AUΣVT&#xff0…...

平面设计神器CorelDRAW2021精简版,你值得拥有!

亲爱的设计师小伙伴们&#xff0c;今天我要为大家种草一款神奇的软件——CorelDRAW平面设计软件2021精简版&#xff01;&#x1f929;✨作为一名专业的图形设计师&#xff0c;我深知一个好工具对于我们的工作有多么重要。而这款软件简直就是我们设计师的救星&#xff01;&#…...

kafka是什么?

Kafka是一个由Apache软件基金会开发的开源流处理平台&#xff0c;最初由LinkedIn公司开发&#xff0c;使用Scala和Java编写。它是一个高吞吐量的分布式发布订阅消息系统&#xff0c;可以处理消费者在网站中的所有动作流数据&#xff0c;如网页浏览、搜索和其他用户行为等。Kafk…...

ABC351

C 栈的应用 #include<bits/stdc.h>using namespace std;stack<int>stk;int main() {int n;cin>>n;for(int i1;i<n;i){int a;cin>>a;while(!stk.empty()&&astk.top()){stk.pop();a;}stk.push(a);}cout<<stk.size()<<endl;retur…...

base上海,数据科学,数据挖掘,数据分析等岗位求收留

裁员了&#xff0c;base上海&#xff0c;数据科学&#xff0c;数据挖掘&#xff0c;数据分析等岗位&#xff0c;期望30k~40k&#xff0c;求推荐求收留 1&#xff0c;6年数据算法工作&#xff0c;做过指标体系搭建&#xff0c;用户画像&#xff0c;货品定价&#xff0c;社区分析…...

IC元器件

1.电阻&#xff1a; 电阻的作用&#xff1a; 1.与负载串联&#xff1a;做限流分压 2.电阻并联&#xff1a;将小功率电阻并联成大功率&#xff0c;防烧毁 2.电容&#xff1a; 电容就是两块金属板&#xff0b;中间的介质&#xff08;相当于两个人坐在一起加上中间的空气…...

SQL159 每个创作者每月的涨粉率及截止当前的总粉丝量

描述 用户-视频互动表tb_user_video_log iduidvideo_idstart_timeend_timeif_followif_likeif_retweetcomment_id110120012021-09-01 10:00:002021-09-01 10:00:20011NULL210520022021-09-10 11:00:002021-09-10 11:00:30101NULL310120012021-10-01 10:00:002021-10-01 10:00…...

Linux安装MySQL教程【带图文命令巨详细】

巨详细Linux安装MySQL 1、查看是否有自带数据库或残留数据库信息1.1检查残留mysql1.2检查并删除残留mysql依赖1.3检查是否自带mariadb库 2、下载所需MySQL版本&#xff0c;上传至系统指定位置2.1创建目录2.2下载MySQL压缩包 3、安装MySQL3.1创建目录3.2解压mysql压缩包3.3安装解…...

外部排序快速入门详解:基本原理,败者树,置换-选择排序,最佳归并树

文章目录 外部排序1.最基本的外部排序原理2.外部排序的优化2.1 败者树优化方法2.2 置换-选择排序优化方法2.3 最佳归并树 外部排序 为什么要学习外部排序&#xff1f; 答&#xff1a; 在处理数据的过程中&#xff0c;我们需要把磁盘(外存&#xff09;中存储的数据拿到内存中处理…...

人工智能和物联网如何结合

欢迎来到 Papicatch的博客 目录 ​ &#x1f349;引言 &#x1f349;AI与IoT的结合方式 &#x1f348;数据处理和分析 &#x1f34d;实例 &#x1f348;边缘计算 &#x1f34d;实例 &#x1f348;自动化和自主操作 &#x1f34d;实例 &#x1f348;安全和隐私保护 &…...

【JAVASE】JAVA应用案例(下)

一&#xff1a;抢红包 一个大V直播时&#xff0c;发起了抢红包活动&#xff0c;分别有9,666,188,520,99999五个红包。请模拟粉丝来抽奖&#xff0c;按照先来先得&#xff0c;随机抽取&#xff0c;抽完即止&#xff0c;注意&#xff1a;一个红包只能被抽一次&#xff0c;先抽或…...

【面试干货】 B 树与 B+ 树的区别

【面试干货】 B 树与 B 树的区别 1、B 树2、 B 树3、 区别与优缺点比较4、 总结 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 在数据库系统中&#xff0c;B 树和 B 树是常见的索引结构&#xff0c;它们在存储和组织数据方面有着不同的设计…...

Socket编程权威指南(四)彻底解密 Epoll 原理

在上一篇文章中&#xff0c;我们优化了基于 Socket 的网络服务器&#xff0c;从最初的 select/poll 模型进化到了高效的 epoll。很多读者对 epoll 的惊人性能表示极大的兴趣&#xff0c;对它的工作原理也充满了好奇。今天&#xff0c;就让我们一起揭开 epoll 神秘的面纱&#x…...

Windows开始ssh服务+密钥登录+默认启用powershell

文章内所有的命令都在power shell内执行&#xff0c;使用右键单击Windows徽标&#xff0c;选择终端管理员即可打开 Windows下OpenSSH的安装 打开Windows power shell&#xff0c;检查SSH服务的安装状态。会返回SSH客户端和服务器的安装状态&#xff0c;一下是两个都安装成功的…...

实体商铺私域流量打造策略:从引流到转化的全链路解析

在数字化时代&#xff0c;实体商铺面临着前所未有的挑战与机遇。随着线上购物的兴起&#xff0c;传统商铺如何吸引并留住顾客&#xff0c;成为了每个实体店家必须面对的问题。私域流量的打造&#xff0c;正是解决这一问题的关键所在。本文将从引流、留存、转化三个方面&#xf…...

实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)

背景介绍 SegFormer&#xff1a;实例分割在自动驾驶汽车技术的快速发展中发挥了关键作用。对于任何在道路上行驶的车辆来说&#xff0c;车道检测都是必不可少的。车道是道路上的标记&#xff0c;有助于区分道路上可行驶区域和不可行驶区域。车道检测算法有很多种&#xff0c;每…...

翻译《The Old New Thing》- Why do messages posted by PostThreadMessage disappear?

Why do messages posted by PostThreadMessage disappear? - The Old New Thing (microsoft.com)https://devblogs.microsoft.com/oldnewthing/20090930-00/?p16553 Raymond Chen 2008年09月30日 为什么 PostThreadMessage 发布的信息会消失&#xff1f; 在显示用户界面的线…...

【深度学习】—— 神经网络介绍

神经网络介绍 本系列主要是吴恩达深度学习系列视频的笔记&#xff0c;传送门&#xff1a;https://www.coursera.org/deeplearning-ai 目录 神经网络介绍神经网络的应用深度学习兴起的原因 神经网络&#xff0c;全称人工神经网络&#xff08;Artificial Neural Network&#xf…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

Android 之 kotlin 语言学习笔记三(Kotlin-Java 互操作)

参考官方文档&#xff1a;https://developer.android.google.cn/kotlin/interop?hlzh-cn 一、Java&#xff08;供 Kotlin 使用&#xff09; 1、不得使用硬关键字 不要使用 Kotlin 的任何硬关键字作为方法的名称 或字段。允许使用 Kotlin 的软关键字、修饰符关键字和特殊标识…...

分布式增量爬虫实现方案

之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面&#xff0c;避免重复抓取&#xff0c;以节省资源和时间。 在分布式环境下&#xff0c;增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路&#xff1a;将增量判…...

技术栈RabbitMq的介绍和使用

目录 1. 什么是消息队列&#xff1f;2. 消息队列的优点3. RabbitMQ 消息队列概述4. RabbitMQ 安装5. Exchange 四种类型5.1 direct 精准匹配5.2 fanout 广播5.3 topic 正则匹配 6. RabbitMQ 队列模式6.1 简单队列模式6.2 工作队列模式6.3 发布/订阅模式6.4 路由模式6.5 主题模式…...

【7色560页】职场可视化逻辑图高级数据分析PPT模版

7种色调职场工作汇报PPT&#xff0c;橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版&#xff1a;职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

Java毕业设计:WML信息查询与后端信息发布系统开发

JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发&#xff0c;实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构&#xff0c;服务器端使用Java Servlet处理请求&#xff0c;数据库采用MySQL存储信息&#xff0…...

现有的 Redis 分布式锁库(如 Redisson)提供了哪些便利?

现有的 Redis 分布式锁库&#xff08;如 Redisson&#xff09;相比于开发者自己基于 Redis 命令&#xff08;如 SETNX, EXPIRE, DEL&#xff09;手动实现分布式锁&#xff0c;提供了巨大的便利性和健壮性。主要体现在以下几个方面&#xff1a; 原子性保证 (Atomicity)&#xff…...