实现atoi函数(C++实现)
- atoi将string类型转换为int类型。
- 需要注意的点:
1考虑上溢和下溢的情况
2遇到空格需要处理
3设置一个flag用来记录正负号,如果遇到的为“+”,flag=1;如果遇到的为“-”,flag=-1;
4将对应的char类型字符转换为整数,如s[i]-‘0’,如果该值小于0或者大于9,说明为异常值,此时返回;
如果该值为0-9之间,则用result*10+该值来更新result。
- 完整的C++代码如下:
#include<string>
#include<vector>
#include<iostream>
using namespace std;
int help(string s)
{
int n = s.size();
int i = 0;
int flag = 1;
int ret=0;
if (n == 0)
return 0;
while (s[i] == ' ') {
i++;
}
if (s[i] == '+') {
i++;
} else if (s[i] == '-') {
i++;
flag = -1;
}
while (i < n) {
if (s[i]<'0' || s[i]>'9') {
return ret * flag;
}
int digit = s[i] - '0';
if (flag == 1 && 10.0 * ret + digit > INT_MAX) {
return INT_MAX;
} else if (flag == -1 && -(10.0*ret + digit) < INT_MIN) {
return INT_MIN;
} else
ret = 10 * ret + digit;
i++;
}
return ret*flag;
}
int main()
{
string s;
cin >> s;
int result;
result = help(s);
cout << result<<endl;
system("pause");
return 0;
}
实现atoi函数(C++实现)相关推荐
- 编写实现atoi函数
题目:给定一个字符串,要求转成整数,不允许使用atoi或者其它类似库函数. 方案:实现这个函数并不难,但是要考虑以下几个问题 1.考虑字符串为空指针的时候 2.考虑字符串为空串 ...
- C语言atoi()函数用法
C语言atoi()函数用法 头文件:#include <stdlib.h> atoi() 函数用来将字符串转换成整数(int),其原型为: int atoi (const char * s ...
- atoi()函数定义
原型:int atoi (const char *nptr) 用法:#include <stdlib.h> 功能:将字符串转换成整型数:atoi()会扫描参数nptr字符串,跳过前 ...
- C语言atoi()函数(字符串转整数int类型)(atol()转换为long)
需包含头文件:C 标准库 - <stdlib.h> 文章目录 描述 声明 参数 返回值 实例 在windows VS上测试 20211206 用atoi转换long,发现溢出了 描述 C ...
- linux中atoi函数的实现 值得借鉴,【转】atoi()函数的实现
atoi()函数的功能:将字符串转换成整型数:atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回( ...
- C语言中atoi()函数的用法
C语言中atoi()函数的用法 一.学习要点: 1.int atoi(const char *str)把参数str所指向的字符串转换为一个整数: 二.代码 #include<stdio.h> ...
- Linux下main函数带参数问题和atoi函数详解
1.main函数带参数 基本格式:main(int argc,char * argv[]) argc参数保存命令行参数的个数,是整形变量 具体用法可有如下代码看下: a1.c: #include &l ...
- atoi函数_吊打面试官 | 腾讯经典考点写代码实现atoi函数
点击蓝字关注我哦 以下是本期干货视频视频后还附有文字版本哦 ▼<腾讯经典考点-写代码实现atoi函数>▼ ps:请在WiFi环境下打开,如果有钱任性请随意 在腾讯面试时,经常会被问到如何用 ...
- C语言atoi()函数:将字符串转换成int(整数)和sprintf和memset
atoi()函数 #include <stdio.h> #include <stdlib.h>int main () {int i;char buffer[256];print ...
- C atoi函数
作用 atoi()函数将数字格式的字符串转换为整数类型.例如,将字符串1253124127转换成数字1253124127. 注意 首要注意 atoi函数可以转化如下这种字符串 1fdafhdjfhka ...
最新文章
- R语言使用tryCatch函数调试R代码实战:tryCatch函数运行正常R代码、tryCatch函数运行有错误(error)的R代码示例/tryCatch函数运行有警告(warning)的R代码示例
- Hibernate two table same id
- FetchType.LAZY和FetchType.EAGER什么区别?(懒加载和急加载的理解)
- buu Cipher
- java响应事件_Swing中添加事件响应的三种处理方式说明
- 在c++中使用gotoxy
- matlab不显示变量,Matlab空间面板SAR模型运行时解释变量显示不全
- 谈谈C#反射(Reflection)
- facebook, twitter,QQ, google +1, linkedin, disqus,gigya 按钮Network (登录)
- 机器数与码制——如何在计算机内部存储数字、进行数据运算
- Win 10 没有 Hyper-V 解决方案
- python之路-基础篇-002
- linux运行海康,海康网络摄像机SDK Linux对接
- pip下载包的默认路径
- 学术论文中的Introduction与Background
- using eclipse to write c programe
- 《老路用得上的商学课》61-65学习笔记
- Ubuntu 16.04下设置开机时自动开启NumLock
- python程序设计,猜数游戏编程实践课程实验
- Minitab中的一些最常用的功能和任务。
热门文章
- vue.js关于循环出来多个input并让每个input后的修改按钮控制其值
- jQuery源码分析系列(31) : Ajax deferred实现
- Chrome快捷键, Mac 下 Chrome 浏览器 快捷键
- SQL Server数据同步的研究(单向/双向)
- 快速搭建MongoDB分片集群
- oracle 闪回总结
- Linux vip地址通信原理,IPv6的组播地址(掌握IPv6通信原理的关键知识点)
- golang ide 环境搭建_新手引导 — Golang后端开发环境搭建
- jsp页面ajax用法,在jsp中使用jquery的ajax
- feign扫描_微服务实战SpringCloud之Feign简介及使用