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

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);
  • int integer 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 is str.

    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.查找第一次出现的目标字符串&#xff1a;说明&#xff1a;如果查找成功则输出查找到的第一个位置&#xff0c;否则返回-1&#xff1b; s1.find(s2…...

GPT搜索鸽了!改升级GPT-4

最近OpenAI太反常&#xff0c;消息一会一变&#xff0c;直让人摸不着头脑。 奥特曼最新宣布&#xff1a;5月13日开发布会&#xff0c;不是GPT-5&#xff0c;也不是盛传的GPT搜索引擎&#xff0c;改成对ChatGP和GPT-4的升级&#xff5e; 消息一出&#xff0c;大伙儿都蒙了。 之…...

数字绘画教学实训解决方案

一、建设背景 1.1政策背景 教育信息化政策推动&#xff1a;近年来&#xff0c;随着教育信息化政策的不断推动&#xff0c;各级教育部门纷纷出台相关政策&#xff0c;鼓励和支持教育信息化的发展。数字绘画作为现代艺术教育的重要组成部分&#xff0c;其教学实训解决方案的建设…...

C#之如何判断数据类型

一、GetType方法 a.GetType()&#xff1a;获取当前变量的类型对象 string str "Hello World";Console.WriteLine(str.GetType()); 结果: 二、typeof方法 typeof(Int)&#xff1a;获取的是Int类型的类型对象 int num 10;Console.WriteLine(num.GetType() typeof(i…...

算法学习笔记(Tarjan)

本文介绍 T a r j a n Tarjan Tarjan求强联通分量、找割点和割边、找环。 Tarjan求强联通分量 例题&#xff1a;【模板】有向图缩点 题目描述 给定一个 n n n点 m m m边的有向图&#xff08;保证不存在重边与自环&#xff0c;但不保证连通&#xff09;&#xff0c;请你求出…...

一台linux通过另一台linux访问互联网-TinyProxy

参考&#xff1a; https://blog.csdn.net/weixin_41831919/article/details/113061317https://www.yuncongz.com/archives/1.htmlhttps://blog.csdn.net/aoc68397/article/details/101893369 环境&#xff1a;ubuntu 18.04 机器1: IP 219.216.65.252 (可以访问外网) 机器2: IP…...

探索数据结构:堆的具体实现与应用

✨✨ 欢迎大家来到贝蒂大讲堂✨✨ &#x1f388;&#x1f388;养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; 所属专栏&#xff1a;数据结构与算法 贝蒂的主页&#xff1a;Betty’s blog 1. 堆的概念 堆(Heap)是计算机科学中一类特殊的数据结构。堆通常是一个…...

网络2--MAC地址,IP地址的理解

引入&#xff1a; 每一张主机都会有一张网卡&#xff0c;每一张网卡都有一个48bit位的序列号 当我们的热点被连上&#xff0c;你查看时&#xff0c;就会出现MAC地址&#xff0c;IP地址 那么他们两个是什么呢&#xff1f;&#xff1f;&#xff1f; MAC地址 在同一个局域网中…...

类型的转换

首先我们要了解java中的数据类型转换是指将一种数据类型转换成另一种数据类型的过程。 什么时候会用到&#xff1f;我觉得两种情况会用到 等号左右两边类型不一致&#xff08;一般发生在赋值时&#xff09;不同类型的数据参与运算&#xff08;一般发生在计算时&#xff09; 转…...

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] << " "; 代码结果如下&#xff1a; 现在我们来分…...

Java面向对象——多态

即同一个方法可以根据发送对象的不同而采用多种不同的行为方式。 一个对象的实际类型是确定的&#xff0c;但可以指向对象的引用的类型有很多&#xff08;父类&#xff0c;有关系的类&#xff09;。 多态存在的条件&#xff1a; 1. 有继承关系&#xff1b; 2. 子类重写父类…...

python 对矩阵与矩阵之间对应位置的元素,做softmax操作,代码实战

1.对矩阵中对应位置的元素&#xff0c;做softmax 对于一个向量&#xff0c;softmax函数会对其中每一个元素进行指数运算&#xff0c;然后除以所有元素指数和的结果。当将其应用到多个矩阵的相应位置上时&#xff0c;我们实际上是在对每个位置的一组数&#xff08;从各个矩阵的同…...

Angular前端项目在Apache httpd服务器上的部署

Apache Httpd和Tomcat主要区别&#xff1a;Tomcat是一个Java Servlet容器&#xff0c;用于运行Java Servlet和JavaServer Pages&#xff08;JSP&#xff09;&#xff0c;而Apache HTTP服务器是一个通用的Web服务器&#xff0c;用于提供静态和动态内容。 Apache httpd安装&#…...

Oracle 更改数据文件位置的几种常用方式

Oracle 更改数据文件位置的几种常用方式 A.归档模式下 1、offline 表空间&#xff1a;alter tablespace tablespace_name offline&#xff1b; 2、复制数据文件到新的目录&#xff1b; 3、rename 修改表空间&#xff0c;并修改控制文件&#xff1b; 4、online 表空间&#xf…...

【opencv】图像畸变校正

接上篇文章&#xff1a;【鱼眼&#xff0b;普通相机】相机标定 附代码&#xff1a; 方法一&#xff1a; 使用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 前篇内容&#xff1a;电池管理IC&#xff08;Charger&#xff09;了解一下&#xff1f; 领资料&#xff1a;点下方↓名片关注回复&#xff1a;粉丝群 正文 一、 VIN-DPM概念 VIN-DPM是指输入电压动态电源管理&#xff08;Input voltage dynamic…...

【半夜学习MySQL】表结构的操作(含表的创建、修改、删除操作,及如何查看表结构)

&#x1f3e0;关于专栏&#xff1a;半夜学习MySQL专栏用于记录MySQL数据相关内容。 &#x1f3af;每天努力一点点&#xff0c;技术变化看得见 文章目录 创建表查看表结构修改表删除表 创建表 语法&#xff1a; create table table_name(field1 datatype,field2 datatype,fiel…...

曲线救国:window 安装 docker

你好&#xff0c;我是 shengjk1&#xff0c;多年大厂经验&#xff0c;努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注&#xff01;你会有如下收益&#xff1a; 了解大厂经验拥有和大厂相匹配的技术等 希望看什么&#xff0c;评论或者私信告诉我&#xff01; 文章目录 一…...

番外篇 | 利用PyQt5+YOLOv5来搭建目标检测系统(附可视化界面+功能介绍+源代码)

前言:Hello大家好,我是小哥谈。PyQt5是一个Python绑定的Qt库,是用于创建图形用户界面(GUI)和其他应用程序组件的工具包。PyQt5提供了许多GUI元素,如按钮、文本框、标签等,也提供了许多Qt的功能,如网络、数据库、XML等。通过PyQt5可以在Python中使用Qt的丰富功能和强大的工…...

Pascal Content数据集

如果您想使用Pascal Context数据集&#xff0c;请安装Detail&#xff0c;然后运行以下命令将注释转换为正确的格式。 1.安装Detail 进入项目终端 #即 这是在我自己的项目下直接进行克隆操作&#xff1a; git clone https://github.com/zhanghang1989/detail-api.git $PASCAL…...

工程机械重型车辆检测数据集 YOLO格式

数据集格式&#xff1a;YOLO格式(包含jpg图片以及对应的yolo格式的txt标注文件) 图片预览&#xff1a; 标注例子&#xff1a; 图片数量(jpg文件个数)&#xff1a;6338 标注数量(txt文件个数)&#xff1a;6338 标注类别数&#xff1a;7 标注类别名称:["Bull_dozer"…...

超导量子比特控制技术:DRAG与神经网络优化

1. 超导量子比特控制技术概述在超导量子计算系统中&#xff0c;精确的量子态操控是实现高保真度量子门操作的基础。传统微波脉冲控制面临两大核心挑战&#xff1a;非绝热跃迁导致的能级泄漏和频率失谐引起的操作误差。DRAG&#xff08;Derivative Removal by Adiabatic Gate&am…...

如何用Sunshine打造家庭游戏云:免费开源的游戏串流终极指南

如何用Sunshine打造家庭游戏云&#xff1a;免费开源的游戏串流终极指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine 你是否厌倦了被束缚在书房电脑前玩游戏&#xff1f;是否希望…...

CausalImpact最佳实践:避免因果推断中的7个常见陷阱

CausalImpact最佳实践&#xff1a;避免因果推断中的7个常见陷阱 【免费下载链接】CausalImpact An R package for causal inference in time series 项目地址: https://gitcode.com/gh_mirrors/ca/CausalImpact 在时间序列分析领域&#xff0c;因果推断是揭示变量间真实…...

一条 SQL 干掉 8 秒卡顿,只因改了一个索引

一条 SQL 干掉 8 秒卡顿,只因改了一个索引 上周五晚上十一点,线上告警突然炸了,用户反馈下单接口卡成 PPT。打开慢查询日志一看,一条最普通的订单查询 SQL 居然跑了 8 秒多。当时我脑子里只有一个念头:这条 SQL 我上周才写的,测试环境明明只要 200 毫秒啊。排查了一整晚,…...

电铲自主行走多耦合行为及轨迹控制技术【附代码】

✨ 长期致力于电铲、自主行走、多耦合行为、离散元法、反演滑模控制、轨迹控制研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;机电-离散元多体耦合动…...

【Perplexity词组搭配查询权威基准测试】:覆盖医学/法律/工程三大垂直领域,17项指标碾压传统n-gram方法(数据已通过ACL评审)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Perplexity词组搭配查询权威基准测试概览 Perplexity&#xff08;困惑度&#xff09;作为衡量语言模型预测能力的核心指标&#xff0c;其在词组搭配&#xff08;collocation&#xff09;查询任务中的表…...

【2026年华为暑期实习(AI)-5月20日-第三题- 敏感实体动态遮蔽掩码】(题目+思路+JavaC++Python解析+在线测试)

题目内容 为了防止大语言模型记忆并泄露输入上下文的敏感数据,安全框架会对输入的长文本进行预扫描,匹配预设的敏感词库(如 API_KEYAPI\_KEYAPI_KEY、身份证号码等)。...

Anthropic 收购 Stainless:加强开发者基础设施控制,或重塑 AI 竞争格局

收购背景与目的随着人工智能供应商竞相简化智能体开发&#xff0c;Anthropic 收购了初创公司 Stainless&#xff0c;这笔交易让 Anthropic 能更严格地控制开发者将 Claude 接入软件和业务系统的方式。图片来源&#xff1a;T. Schneider / Shutterstock。分析人士称&#xff0c;…...

从2023蓝桥杯JavaB组省赛真题看算法思维与实战技巧

1. 从真题看算法思维培养 去年参加蓝桥杯省赛时&#xff0c;我对着那道阶乘求和题足足愣了十分钟。题目要求计算1!到202320232023!的和的最后9位数字&#xff0c;我第一反应就是暴力计算每个阶乘值再累加。结果刚算到20!就发现long类型溢出了&#xff0c;当时整个人都懵了。后来…...