atoi
2024-08-29 11:27:44
enum Status{kValid=, KInvalid};
int g_nStatus=kValid;
int StrToInt(const char *str)
{
g_nStatus=KInvalid;
long long num=;
if((str!=NULL)&&(*str!='\0'))
{
bool minus=false;
if(*str=='+')str++;
else if(*str=='-')
{
minus=true;
str++;
}
if(*str!='\0')
{
num=StrToIntCore(str, minus);
}
}
return (int)num;
}
long long StrToIntCore(const char * digit, bool minus)
{
long long num=;
while(*digit!='\0')
{
if(*digit>=''&&*digit<=)
{
int flag=minus?-:;
num=*num+flag*(*digit-'');
if(((!minus)&&num>0x7fffffff)||(minus&&(num<(signed int)0x80000000)))
{
num=;
break;
}
digit++;
}
else
{
num=;
break;
}
}
if (*digit=='\0')
{
g_nStatus=kValid;
}
return num;
}
最新文章
- android播放器如何获取音乐文件信息
- 使用paramikoHelper类实现MySQL安装和数据恢复
- [Node.js] Express的测试覆盖率
- linux中替换目录下的某个文件中包含的IP地址
- ssh框架简单搭建
- 简单实现tab标签页切换
- hdu1540(线段树)
- OpenCV2.x自学笔记——Qt5.5.1打包exe
- 2.如何实现使用VBS脚本程序对直播间自动评论
- windows之自动化在虚拟机部署操作系统并自带python环境
- Python extend()方法--list
- Object constructor
- 异步httpclient(httpasyncclient)的使用与总结
- 执行shell脚本提示“-bash: ./checkP.sh: /bin/sh^M: bad interpreter: No such file or directory”解决方法
- mysql-数据库管理安装
- angular4,6 引入第三方插件的方法
- javascript随笔和常见的知识点
- Python中 __init__的通俗解释?附修饰器contextmanager的理解
- 【windows server 2008R2】windows server 2008R2自动重启
- 九度OJ 1006 ZOJ问题 (这题測试数据有问题)
热门文章
- 原创:运行loadtest时报错the load test results repository was created with a previous version and is not compatible
- HDU 5523 Game
- 数据同步方案(附Java源码)
- Golang学习笔记:包制作
- SQL面试题——查询课程
- [iOS]C语言技术视频-06-程序循环结构(for{})
- jqGrid简述
- html页面头部里的meta
- Victor 串口 VCL 控件 - 简单实用, 功能强大的 C++ Builder 串口控件!
- NSURLRequest POST方式请求服务器示例