7.STL中string的一些超常用函数 (附习题)
目录
1.find
2.atoi
3.to_string
4.getline
【leetcode 习题】
387.字符串中的第一个唯一字符
125. 验证回文串
1.find

1.查找第一次出现的目标字符串:说明:如果查找成功则输出查找到的第一个位置,否则返回-1;
s1.find(s2)
#include <iostream>
#include <string>
using namespace std;
int main() {string s1 = "abcdef";string s2 = "de";int ans = s1.find(s2) ; //在S1中查找子串S2cout << ans << endl;system ("pause");
}

2.查找从指定位置开始的第一次出现的目标字符串:
s1.find(s2, 2)
#include <iostream>
#include <string>
using namespace std;
int main() {string s1 = "abcdef";string s2 = "de";int ans = s1.find(s2, 2) ; //从S1的第二个字符开始查找子串S2cout << ans << endl;system("pause");
}

2.atoi
atoi()函数的语法非常简单int atoi (const char * str);
intinteger type which is the type of returned value.
int整数类型,它是返回值的类型。
const char *is a constant char array that is equal to a string whose variable name isstr.
const char *是一个常量char数组,它等于一个变量名称为str。
作用:在C和C ++中将字符串/字符转换为整数 (Convert String/Char To Integer In C and C++)
可以参考如下实例:
#include <iostream>
#include <cstdlib>int main()
{const char *str1 = "57";const char *str2 = "314.159";const char *str3 = "52345 some text";const char *str4 = "some text 25";int mynum1 = std::atoi(str1);int mynum2 = std::atoi(str2);int mynum3 = std::atoi(str3);int mynum4 = std::atoi(str4);std::cout << "atoi(\"" << str1 << "\") is " << mynum1 << '\n';std::cout << "atoi(\"" << str2 << "\") is " << mynum2 << '\n';std::cout << "atoi(\"" << str3 << "\") is " << mynum3 << '\n';std::cout << "atoi(\"" << str4 << "\") is " << mynum4 << '\n';
}

- If given string or char array is floating-point like “314.159” in only integer part will be converted where the result will be “314” 如果给定的字符串或char数组是浮点数,例如“ 314.159”,则仅整数部分将被转换,结果为“ 314”
- If there are some non-numerical chars in the given char array or string they will not convert and there will be no error where only the integer part will be converted. As an example “52345 some text” will be converted 52345 如果给定的char数组或字符串中有一些非数字char,它们将不会转换,并且只有整数部分会被转换也不会出错。 例如,“ 52345 some text”将被转换为52345
- If the start of the char array or string and there are numerical characters after them this will be converted into 0 as an integer value. As an example “some text 25” will be converted into 0. 如果char数组或字符串的开头,并且后面有数字字符,则将其转换为0作为整数值。 例如,“一些文本25”将转换为0。
- If the numerical characters are between non-numeric characters the conversion result will be 0 too. 如果数字字符介于非数字字符之间,则转换结果也将为0。
- If the char array or string starts with numeric character and after that, there is a non-numeric, and then numeric character only the starting numeric character will be converted. As an example “25 text 50” will be converted into 25. 如果char数组或字符串以数字字符开头,并且之后是非数字字符,则仅将起始数字字符转换为数字字符。 例如,“ 25个文本50”将转换为25。
【总结来说】:字符转化为数字,是以起始为主要参考的
3.to_string
将数字常量转换为字符串,返回值为转换完毕的字符串
头文件:#include < string >(必须加)
string s = to_string(i); //将整数i转换为字符串表示形式
附:如果是string s = to_string(‘3’),则结果是s = 51。
需要对s = s -48; 才能得到正确的结果。
#include <iostream>
#include <string>
using namespace std;int main()
{string pi = "pi is " + std::to_string(3.1415926);string perfect = to_string(1 + 2 + 4 + 7 + 14) + " is a perfect number";cout << pi << '\n';cout << perfect << '\n';system("pause");return 0;
}

4.getline

作用:打印一行字符串(可打印空格)
应用:

题解:

【leetcode 习题】
387.字符串中的第一个唯一字符

!!! get以坐标为方式的查找次数加法 count [ s [ i ] ]+=1

125. 验证回文串



如果有兴趣了解原理,可以读一下下面这篇文章,来更深入的了解string:
STL 的string类怎么啦
相关文章:
7.STL中string的一些超常用函数 (附习题)
目录 1.find 2.atoi 3.to_string 4.getline 【leetcode 习题】 387.字符串中的第一个唯一字符 125. 验证回文串 1.find 1.查找第一次出现的目标字符串:说明:如果查找成功则输出查找到的第一个位置,否则返回-1; s1.find(s2…...
GPT搜索鸽了!改升级GPT-4
最近OpenAI太反常,消息一会一变,直让人摸不着头脑。 奥特曼最新宣布:5月13日开发布会,不是GPT-5,也不是盛传的GPT搜索引擎,改成对ChatGP和GPT-4的升级~ 消息一出,大伙儿都蒙了。 之…...
数字绘画教学实训解决方案
一、建设背景 1.1政策背景 教育信息化政策推动:近年来,随着教育信息化政策的不断推动,各级教育部门纷纷出台相关政策,鼓励和支持教育信息化的发展。数字绘画作为现代艺术教育的重要组成部分,其教学实训解决方案的建设…...
C#之如何判断数据类型
一、GetType方法 a.GetType():获取当前变量的类型对象 string str "Hello World";Console.WriteLine(str.GetType()); 结果: 二、typeof方法 typeof(Int):获取的是Int类型的类型对象 int num 10;Console.WriteLine(num.GetType() typeof(i…...
算法学习笔记(Tarjan)
本文介绍 T a r j a n Tarjan Tarjan求强联通分量、找割点和割边、找环。 Tarjan求强联通分量 例题:【模板】有向图缩点 题目描述 给定一个 n n n点 m m m边的有向图(保证不存在重边与自环,但不保证连通),请你求出…...
一台linux通过另一台linux访问互联网-TinyProxy
参考: https://blog.csdn.net/weixin_41831919/article/details/113061317https://www.yuncongz.com/archives/1.htmlhttps://blog.csdn.net/aoc68397/article/details/101893369 环境:ubuntu 18.04 机器1: IP 219.216.65.252 (可以访问外网) 机器2: IP…...
探索数据结构:堆的具体实现与应用
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 堆的概念 堆(Heap)是计算机科学中一类特殊的数据结构。堆通常是一个…...
网络2--MAC地址,IP地址的理解
引入: 每一张主机都会有一张网卡,每一张网卡都有一个48bit位的序列号 当我们的热点被连上,你查看时,就会出现MAC地址,IP地址 那么他们两个是什么呢??? MAC地址 在同一个局域网中…...
类型的转换
首先我们要了解java中的数据类型转换是指将一种数据类型转换成另一种数据类型的过程。 什么时候会用到?我觉得两种情况会用到 等号左右两边类型不一致(一般发生在赋值时)不同类型的数据参与运算(一般发生在计算时) 转…...
memset函数
让我们先看两个代码 memset(dp, 0x3f, sizeof(dp)); for (int i 0; i < 5; i)cout << dp[i] << " "; memset(dp, 127, sizeof(dp)); for (int i 0; i < 5; i)cout << dp[i] << " "; 代码结果如下: 现在我们来分…...
Java面向对象——多态
即同一个方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的,但可以指向对象的引用的类型有很多(父类,有关系的类)。 多态存在的条件: 1. 有继承关系; 2. 子类重写父类…...
python 对矩阵与矩阵之间对应位置的元素,做softmax操作,代码实战
1.对矩阵中对应位置的元素,做softmax 对于一个向量,softmax函数会对其中每一个元素进行指数运算,然后除以所有元素指数和的结果。当将其应用到多个矩阵的相应位置上时,我们实际上是在对每个位置的一组数(从各个矩阵的同…...
Angular前端项目在Apache httpd服务器上的部署
Apache Httpd和Tomcat主要区别:Tomcat是一个Java Servlet容器,用于运行Java Servlet和JavaServer Pages(JSP),而Apache HTTP服务器是一个通用的Web服务器,用于提供静态和动态内容。 Apache httpd安装&#…...
Oracle 更改数据文件位置的几种常用方式
Oracle 更改数据文件位置的几种常用方式 A.归档模式下 1、offline 表空间:alter tablespace tablespace_name offline; 2、复制数据文件到新的目录; 3、rename 修改表空间,并修改控制文件; 4、online 表空间…...
【opencv】图像畸变校正
接上篇文章:【鱼眼+普通相机】相机标定 附代码: 方法一: 使用cv2.undistort """Create May 11, 2024author Wang Jiajun """import cv2 import numpy as npdef correct(img,camera_fileE:/cali…...
Charger之二输入电压动态电源原理(VIN-DPM)
主要内容 Charger的VIN-DPM 前篇内容:电池管理IC(Charger)了解一下? 领资料:点下方↓名片关注回复:粉丝群 正文 一、 VIN-DPM概念 VIN-DPM是指输入电压动态电源管理(Input voltage dynamic…...
【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)
🏠关于专栏:半夜学习MySQL专栏用于记录MySQL数据相关内容。 🎯每天努力一点点,技术变化看得见 文章目录 创建表查看表结构修改表删除表 创建表 语法: create table table_name(field1 datatype,field2 datatype,fiel…...
曲线救国:window 安装 docker
你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…...
番外篇 | 利用PyQt5+YOLOv5来搭建目标检测系统(附可视化界面+功能介绍+源代码)
前言:Hello大家好,我是小哥谈。PyQt5是一个Python绑定的Qt库,是用于创建图形用户界面(GUI)和其他应用程序组件的工具包。PyQt5提供了许多GUI元素,如按钮、文本框、标签等,也提供了许多Qt的功能,如网络、数据库、XML等。通过PyQt5可以在Python中使用Qt的丰富功能和强大的工…...
Pascal Content数据集
如果您想使用Pascal Context数据集,请安装Detail,然后运行以下命令将注释转换为正确的格式。 1.安装Detail 进入项目终端 #即 这是在我自己的项目下直接进行克隆操作: git clone https://github.com/zhanghang1989/detail-api.git $PASCAL…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
cf2117E
原题链接:https://codeforces.com/contest/2117/problem/E 题目背景: 给定两个数组a,b,可以执行多次以下操作:选择 i (1 < i < n - 1),并设置 或,也可以在执行上述操作前执行一次删除任意 和 。求…...
MODBUS TCP转CANopen 技术赋能高效协同作业
在现代工业自动化领域,MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步,这两种通讯协议也正在被逐步融合,形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...
背包问题双雄:01 背包与完全背包详解(Java 实现)
一、背包问题概述 背包问题是动态规划领域的经典问题,其核心在于如何在有限容量的背包中选择物品,使得总价值最大化。根据物品选择规则的不同,主要分为两类: 01 背包:每件物品最多选 1 次(选或不选&#…...
