atoi代码实现
来源:互联网 发布:ds18b20怎么接单片机 编辑:程序博客网 时间:2024/05/20 20:47
#include <stdio.h>#include <stdlib.h>long long StrToIntCore(const char* str, bool minus);enum Status {kValid = 0, kInvalid};int g_nStatus = kValid;int StrToInt(const char* str){ g_nStatus = kInvalid; long long num = 0; if(str != NULL && *str != '\0') { bool minus = false; if(*str == '+') str ++; else if(*str == '-') { str ++; minus = true; } if(*str != '\0') { num = StrToIntCore(str, minus); } } return (int)num;}long long StrToIntCore(const char* digit, bool minus){ long long num = 0; while(*digit != '\0') { if(*digit >= '0' && *digit <= '9') { int flag = minus ? -1 : 1; num = num * 10 + flag * (*digit - '0'); if((!minus && num > 0x7FFFFFFF) || (minus && num < (signed int)0x80000000)) { num = 0; break; } digit++; } else { num = 0; break; } } if(*digit == '\0') { g_nStatus = kValid; } return num;}
bool g_nStatus = false;int StrToInt(const char *str){long long num = 0;if(str != NULL && *str != '\0'){bool minus = false;if(*str == '+')str++;else if(*str == '-'){minus = true;str++;}int flag = minus ? -1 : 1;if(*str != '\0'){while(*str != '\0'){if(*str >= '0' && *str <= '9'){num = num * 10 + flag * (*str - '0');if((minus && num < (signed int)0x80000000) || (!minus && num > 0x7FFFFFFF)){num = 0;break;}++str;}else{num = 0;break;}}if(*str == '\0')g_nStatus = true;}}return (int)num;}
0 0
- atoi代码实现
- atoi代码实现
- atoi与itoa代码实现
- C函数atoi,itoa的实现代码
- atoi 函数自己写代码实现
- atoi函数介绍与代码实现
- 【练习题】【C】atoi函数的代码实现
- 自己实现的atof()和atoi()代码
- LeetCode(atoi)实现atoi
- atoi实现
- atoi实现
- atoi 实现
- 实现atoi
- atoi实现
- 实现atoi
- atoi实现
- atoi实现
- atoi实现
- 【JavaScript字符串操作方法】
- 重新思考ajax 与 http
- Git版本控制与工作流
- 1013. 股票风云
- fragment在锁屏解锁后出现重新onCreate解决办法
- atoi代码实现
- 自定义CalendarView,可以以周视图或者月视图显示
- Java中判断一个IP地址是否在一个网段内
- 2015070104 - EffactiveJava笔记 - 第48条 获取精确结果不用float或double(1)
- Swift 字符串
- MUTF-8编码格式介绍
- hdu2015面临小问题的反思
- Oracle 将表中两列的内容合并到另外一列当中去
- Linux平台的4个最佳开源代码编辑器