常用字符字符串处理函数
isdigit、isalnum、isalpha、islower、issupper都是C/C ++语言中判断字符的一些函数,灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符
1.isdigit
若参数c为十进制数字0~9,则返回非0值,否则返回0。
其中isxdigital判断是否是十六进制数
2.isalnum
用来判断一个字符是否为数字或者字母,如果是,则返回非零,否则返回零。
3. isalpha
用来判断一个字符是否为字母,如果是,则返回非零,否则返回零。
4. islower
用来判断一个字符是否为小写字母,如果是,则返回非零,否则返回零。
tolower转换成小写
5. islsupper
用来判断一个字符是否为大写字母,如果是,则返回非零,否则返回零。
toupper转换成大写
二、stoi, stoll用法
一、stoi将字符串转换为int类型整数
头文件string
int stoi (const string& str, size_t* idx = 0, int base = 10);
解析str将其内容解释为指定基数的整数,并以int值的形式返回。
如果idx不是空指针,则该函数还将idx的值设置为数字后str中第一个字符的位置。
base:进制,10:十进制,8:八进制,16:十六进制,0:则自动检测数值进制,str 是 0 开头为八进制,str 是 0x 或 0X 开头是十六进制,默认为十进制
stoi() 函数指定转换字符串为十进制用法
#include <iostream>
#include <string>
using namespace std;int main(int argc, char *argv[])
{int a;size_t pos = 0;string str;str = "-1235";a = stoi(str);cout << "a = " << a << endl; //a = -1235str = "1235";a = stoi(str);cout << "a = " << a << endl; //a = 1235str = " -12 35"; // 前两个空格a = stoi(str, &pos); // 会舍弃空白符cout << "a = " << a << endl; //a = -12cout << "pos = " << pos << endl; //pos = 5str = " -12ab35";// 前两个空格a = stoi(str, &pos);// 会舍弃空白符cout << "a = " << a << endl; //a = -12cout << "pos = " << pos << endl; //pos = 5str = "0123";a = stoi(str);cout << "a = " << a << endl; //a = 123str = "0x123";a = stoi(str);cout << "a = " << a << endl; //a = 0return 0;
}
stoi() 函数将指定转换字符串以16进制转10进制用法
#include <iostream>
#include <string>
using namespace std;int main(int argc, char *argv[])
{int a;size_t pos = 0;string str;str = "0x123";a = stoi(str, NULL, 16); //base = 16,指定十六进制cout << "a = " << a << endl; //a = 291str = "0x123";a = stoi(str, NULL, 0); //base = 0,自动检测数值进制cout << "a = " << a << endl; //a = 291str = "-12";a = stoi(str, &pos, 16); //-(2 + 1*16)cout << "a = " << a << endl; //a = -18cout << "pos = " << pos << endl; //pos = 3str = "12";a = stoi(str, &pos, 16); //2 + 1*16cout << "a = " << a << endl; //a = 18cout << "pos = " << pos << endl; //pos = 2str = " -12 35"; a = stoi(str, &pos, 16); //会舍弃空白符cout << "a = " << a << endl; //a = -18cout << "pos = " << pos << endl; //pos = 5str = " -ab";a = stoi(str, &pos, 16); //-(11 + 10*16)cout << "a = " << a << endl; //a = -171cout << "pos = " << pos << endl; //pos = 5str = "0123";a = stoi(str, NULL, 16); //(3 + 2*16 + 1*16*16)cout << "a = " << a << endl; //a = 291return 0;
}
异常
如果无法执行转换,则抛出invalid_argument异常。
如果读取的值超出int的可表示值范围,则抛出out_of_range异常。
无效的idx会导致未定义的行为。
2.stoll() 函数
long long stoll(const std::string& str, std::size_t* pos = 0, int base = 10);
功能:将字符串str转成 long long 整数
参数:
str:字符串
pos:存储将字符串 str 转成 long long 整数,处理了 str 中字符的个数的地址,默认为 NULL
base:进制,10:十进制,8:八进制,16:十六进制,0:则自动检测数值进制,str 是 0 开头为八进制,str 是 0x 或 0X 开头是十六进制,默认为十进制
stoll() 函数指定转换字符串为十进制用法
#include <iostream>
#include <string>
using namespace std;int main(int argc, char *argv[])
{long long a;size_t pos = 0;string str;str = "-1235";a = stoll(str);cout << "a = " << a << endl; //a = -1235str = "1235";a = stoll(str);cout << "a = " << a << endl; //a = 1235str = " -12 35"; a = stoll(str, &pos); //会舍弃空白符cout << "a = " << a << endl; //a = -12cout << "pos = " << pos << endl; //pos = 5str = " -12ab35";a = stoll(str, &pos);cout << "a = " << a << endl; //a = -12cout << "pos = " << pos << endl; //pos = 5str = "0123";a = stoll(str);cout << "a = " << a << endl; //a = 123str = "0x123";a = stoll(str);cout << "a = " << a << endl; //a = 0return 0;
}
对于stoi可能超出范围的字符串,不能用stoi(str) < INT_MAX去限制,而应该用范围更大的stoll先判断
相关文章:
常用字符字符串处理函数
isdigit、isalnum、isalpha、islower、issupper都是C/C 语言中判断字符的一些函数,灵活利用在刷题中可以节省我们的一部分时间。下面c统一为char类型字符 1.isdigit 若参数c为十进制数字0~9,则返回非0值,否则返回0。 其中isxdigital判断是…...
【汇编语言特别篇】DOSBox及常用汇编工具的详细安装教程
文章目录 📋前言一. ⛳️dosbox的介绍、下载和安装1.1 🔔dosbos简介1.2 🔔dosbox的下载1.2.1 👻方式一:官网下载(推荐)1.2.2 👻方式二:网盘安装包 1.3 🔔dosbox的安装1.4 ǵ…...
【牛客网刷题(数据结构)】:环形链表的约瑟夫问题
描述 编号为 1 到 n 的 n 个人围成一圈。从编号为 1 的人开始报数,报到 m 的人离开。 下一个人继续从 1 开始报数。 n-1 轮结束以后,只剩下一个人,问最后留下的这个人编号是多少? O(n) 示例1 好环形链表的约瑟夫问题是一个经典的问…...
虾皮印尼买家号如何注册
虾皮(Shopee)是一个流行的电子商务平台,想要注册虾皮印尼买家号,可以按照以下步骤进行操作: 1、访问虾皮印尼站点:打开浏览器,输入虾皮印尼官网 2、点击"注册":在网站的…...
SpringBoot WebService服务端客户端使用教程
服务端: 依赖 <!-- webservice相关依赖--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web-services</artifactId></dependency><dependency><groupId&…...
【Python 千题 —— 基础篇】字符串长度
题目描述 题目描述 获取字符串长度是编程过程中常用的操作之一。编写一个程序,输入一个字符串,然后输出字符串的长度。 输入描述 输入一个字符串。 输出描述 程序将输入的字符串的长度输出。 代码讲解 下面是本题的代码: # 描述: 输…...
AIGC - 入门向量空间模型
文章目录 向量和向量空间向量的运算什么是向量空间?向量空间的几个重要概念向量之间的距离曼哈顿距离(Manhattan Distance)欧氏距离(Euclidean Distance)切比雪夫距离(Chebyshev Distance) 向量…...
python中使用xml.dom.minidom模块读取解析xml文件
python中可以使用xml.dom.minidom模块读取解析xml文件 xml.dom.minidom模块应该是内置模块不用下载安装 对于一个xml文件来说比如这个xml文件的内容为如下 <excel version"1.0" author"huangzhihui"><table id"1"><colum id&qu…...
计算机网络第一章补充整理(计算机网络体系结构)
前言:以下整理内容,参考《计算机网络自顶向下》和哈工大的计网慕课 目录 计算机网络的体系结构的一些概念为什么采用分层结构?分层结构的优点分层结构的缺点 开放系统互连(OSI)参考模型物理层功能数据链路层功能网络层…...
2023_Spark_实验十七:导入招聘大数据(项目)
一、爬虫爬取的招聘网站数据 二、在MySQL中创建空表 SET FOREIGN_KEY_CHECKS0;-- ---------------------------- -- Table structure for jd_jobs -- ---------------------------- DROP TABLE IF EXISTS jd_jobs; CREATE TABLE jd_jobs (job_name text,job_date text,minSale…...
小程序无感刷新
下载wechat-http依赖 npm install wechat-http封装请求拦截器和相应拦截器,借助refreshToken实现无感刷新 // 导入 http 模块 import http from wechat-http // 基础路径,同时需添加合法请求域名 http.baseURL https://live-api.itheima.net // 配置请…...
Unity C#随笔:简述String和StringBuilder的区别
1.、String: 不可变性(Immutability): String对象一旦被创建,就不能被修改。每次对String对象进行操作时,实际上是创建了一个新的String对象,然后对象的引用重新指向这个新的对象。性能&#x…...
图论相关算法
一、迪杰斯特拉(Dijkstra)算法 迪杰斯特拉算法使用类似广度优先搜索的方法解决了带权图的单源最短路径问题。这是一个贪心算法。 1.核心思想 (1)每次选中一个点,这个点满足两个条件: 未被选过距离最短 (2…...
Python人工智能需要学什么
Python语言在人工智能开发领域有非常广泛的应用,随着人工智能平台的落地应用,未来采用Python语言来开发行业智能产品会是比较常见的选择。 然而进行人工智能开发仅凭Python语言是不够的,学习Python人工智能需要学习哪些知识呢? 一、Python…...
Java 获取请求真实IP
获取IP地址为 127.0.0.1, 或者内网地址 Nginx配置, 只有 proxy_pass 时只能获取到 127.0.0.1 location / {proxy_pass http://127.0.0.1:8080; }修改为 location / {#保留代理之前的host 包含客户端真实的域名和端口号proxy_set_header Host $host; #保留代理之前的真实客…...
Python突破浏览器TLS/JA3 指纹
JA3 是一种创建 SSL/TLS 客户端指纹的方法,一般一个网站的证书是不变的,所以浏览器指纹也是稳定的,能区分不同的客户端。 requests库 Python requests库请求一个带JA3指纹网站的结果: import requestsheaders {authority: tls…...
web安全之XSS攻击
什么是XSS攻击 XSS(Cross-Site Scripting)又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。XSS是一种经常出现在 Web 应用程序中的计算机安全漏洞,是由于 Web 应用程序对用户的输入过滤不足而产生的。 常见…...
【技巧】如何设置Excel表只输入固定内容?
如果你需要在Excel表格中输入固定的内容,可以设置“限制录入内容”,这样就只能输入设置好的内容,避免不小心输入错误信息。下面来看看如何设置吧。 首先,打开Excel表格后,选中需要输入固定内容的表格区域。 比如图片…...
手机抬手亮屏解锁,用到了哪些硬件?
随着时代发展,智能手机以丰富的功能及便利性,成为了人们必不可少的物品,其中人脸解锁功能是非常有用的功能,广受年轻人的喜爱,那么你知道她是如何实现吗?今天凡小亿带你们探索! 手机抬手亮屏解锁…...
AI大模型高速发展,Web3还远吗?
在过去的几年里,人工智能(AI)和Web3技术都经历了令人瞩目的发展。AI大模型,特别是像GPT-3、GPT-4等这样的巨型语言模型,已经成为AI领域的明星,而Web3则代表了下一代互联网的愿景,具有去中心化和…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
基于大模型的 UI 自动化系统
基于大模型的 UI 自动化系统 下面是一个完整的 Python 系统,利用大模型实现智能 UI 自动化,结合计算机视觉和自然语言处理技术,实现"看屏操作"的能力。 系统架构设计 #mermaid-svg-2gn2GRvh5WCP2ktF {font-family:"trebuchet ms",verdana,arial,sans-…...
R语言AI模型部署方案:精准离线运行详解
R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...
练习(含atoi的模拟实现,自定义类型等练习)
一、结构体大小的计算及位段 (结构体大小计算及位段 详解请看:自定义类型:结构体进阶-CSDN博客) 1.在32位系统环境,编译选项为4字节对齐,那么sizeof(A)和sizeof(B)是多少? #pragma pack(4)st…...
2021-03-15 iview一些问题
1.iview 在使用tree组件时,发现没有set类的方法,只有get,那么要改变tree值,只能遍历treeData,递归修改treeData的checked,发现无法更改,原因在于check模式下,子元素的勾选状态跟父节…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
学习一下用鸿蒙DevEco Studio HarmonyOS5实现百度地图
在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 1. 鸿蒙环境准备 开发工具:下载安装 De…...
