C++string转int的方法
一 点睛
需要用到下面这一组函数。
long int strtol(const char *nptr, char **endptr, int base); //将参数nptr字符串根据参数base来转换成有符号的整型
long long int strtoll(const char *nptr, char **endptr, int base); //将参数nptr字符串根据参数base来转换成有符号的长整型
unsigned long int strtoul(const char *nptr, char **endptr, int base); //将参数nptr字符串根据参数base来转换成无符号整型
unsigned long long int strtoull(const char *nptr, char **endptr, int base); //将参数nptr字符串根据参数base来转换成无符号长整型
使用说明
第一个参数 nptr是要转化的字符串。
第二个参数endptr可以为空,如果不为空,则 endptr 保存函数结束前的那个非合法字符的地址。如果没有合法字符,则 *endptr = nptr,函数返回0.
第三个参数base说明nptr的进制。base 取值范围 0,2-36。
这几个函数会忽略nptr前面的空格( ' ', '\t', '\n' '\f', '\v' '\r' ,由isspace判定为真的字符)。
二 实战
1 代码
#include<iostream>
#include<stdlib.h>
#include<string>
using namespace std;
int main(){char *endptr;char nptr[]="123abc";int ret = strtol(nptr, &endptr, 10 );cout<<"ret:"<<ret<<endl;cout<<"endptr:"<<endptr<<endl;char *endptr2;char nptr2[]=" \n\t abc";ret = strtol(nptr2, &endptr2, 10 );cout<<"ret:"<<ret<<endl;cout<<"endptr2:"<<endptr2<<endl;char *endptr8;char nptr8[]="0123";ret = strtol(nptr8, &endptr8,0);cout<<"ret:"<<ret<<endl;cout<<"endptr8:"<<endptr8<<endl; char *endptr16;char nptr16[]="0x123";ret = strtol(nptr16, &endptr16,0);cout<<"ret:"<<ret<<endl;cout<<"endptr16:"<<endptr16<<endl; return 0;
}
2 运行
[root@localhost charpter03]# g++ 0307.cpp -o 0307
[root@localhost charpter03]# ./0307
ret:123
endptr:abc
ret:0
endptr2:abc
ret:83
endptr8:
ret:291
endptr16:
3 说明
当第3个参数为0时,则分以下3中情况进行处理:
第1种:如果nptr以0x开头,则把nptr当成16进制来处理。
第2种:如果nptr以0开头,则把nptr当成8进制来处理。
第3种:把nptr当成10进制。
C++string转int的方法相关推荐
- Linq中string转int的方法
Linq中string转int的方法 在做批量删除时,需把一串id值所对应的数据删除,调试出现问题: Linq语句中如果使用ToString()进行类型转换,编译时不会报错,但执行时会出现如下错误: ...
- golang string转int8_Go教程:23 string转换int类型方法对比
Go教程:23 string转换int类型方法对比 Go语言时一个强类型的语言,但是强类型的语言有也强类型的语言的烦恼.这个烦恼就是类型转换, 接下来我们就讲解一下怎么把 string 类型变量转换成 ...
- string转int的方法_Spark——scala 实用小方法
这一阵刚刚接触scala,主要也是用在spark上~完全小白一个,看着Scala感觉与python很像,想着可能比较容易上手,结果--真是需要处理一个就得查一个啊,用python或Java很容易写出来 ...
- java string.indexof(string)_Java StringBuffer indexOf()方法
Java StringBuffer indexOf()方法 java.lang.StringBuffer.indexOf(String str, int fromIndex) 方法返回此字符串指定的子 ...
- java indexof int,int indexOf(String str, int fromIndex)
int indexOf(String str, int fromIndex) 描述 (Description) java.lang.String.indexOf(String str, int fro ...
- Java String到int,Java int到String
Today we will look at Java String to int conversion and then java int to String conversion. Java pro ...
- 字符串右移n位,例如 “hello world“ 右移两位 后ldhello wor 要求写一个方法实现此功能,方法的格式是 String moveToRight(String str,int po
字符串右移n位,例如 "hello world" 右移两位 后ldhello wor 要求写一个方法实现此功能,方法的格式是 String moveToRight(String s ...
- Java:字符串(String)类型转成整型(int)的方法
在 Java 中,我们可以使用 Integer.parseInt() 或 Integer.valueOf() 将 String 转换为 int.Integer.parseInt() – 返回原始整数. ...
- String转int的两种方法转载
平常使用Integer.ValueOf(String str)转换成Int类型的时候,都没注意是怎么转换的,今天就来研究一下. 最好别用ValueOf将String转换Int.可以使用Inetger. ...
最新文章
- DAS工具: 利用去重、聚合和评分的策略从宏基因组中恢复基因组
- Java 基础 之 三目运算
- php todo和其他备注,Vim中列出TODO与FIXME等备注的方法
- open cv提取图片特征值_基于VGG16网络提取Flicker8K数据集图像特征
- 关联查询的延迟加载是怎么实现的?
- Caffe2:python -m caffe2.python.operator_test.relu_op_test
- java云端部署_Jelastic Java云端平台
- 硬核干货,老曹解密“语音交互”背后的黑科技!
- 安装和部署企业程序库
- Unity UI和场景适配
- 数据结构---哈夫曼树的Java实现
- 局域网聊天服务器(openfire)安装与配置
- 【html和css入门】实现简单的页首导航
- SAP MM批次管理(1)物料与批次
- 现代信号处理——阵列信号处理(阵列信号的高分辨处理)
- 用Python和Pygame写游戏-从入门到精通(实战三:植物大战僵尸1)
- 笔记11-继承修饰符
- matlab中marker太密,Matlab画图时Marker过多的解决方法.pdf
- dll注入失败原因总结
- 计算机对人类发展历史的影响,【信息技术对人类社会发展有什么影响?】_人类 发展史_全球新能源网...