实现字符串转为int
来源:互联网 发布:unity3d宣传片 编辑:程序博客网 时间:2024/06/13 18:55
题目:
自己实现一个函数strToint,不能使用atoi或者其他类似的库函数。
解题思路:
这个题不难,主要是靠考虑到各种情况,
1、判断字符串是否为空
2、保存正负号
3、字符串中是否有无效字符(非数字)-->有该字符串无效
4、是否会溢出!!!
我们令出现上述情况时转换的int型数字为0,那么如何区分正常0和异常情况下的0,我们用一个标志位flag即可。
代码如下:
#include<iostream>#include<stdio.h>using namespace std;int flag=0;int strToint(char *str);void main(){char str[]="123456";cout<<strToint(str);}int strToint(char *str){if(str==NULL||*str=='\0') return 0;bool minus=false;if(*str=='+')astr++;else if(*str=='-'){minus=true;str++;}long long res=0;int zf=minus?-1:1;while(*str!='\0'){if(*str>='0'&&*str<='9'){res=res*10+zf*(*str-'0');if((!minus&&res>0x7FFFFFFF)||(minus&&res<(int)0x80000000)){res=0;break;}str++;}else{res=0;break;}}if(*str=='\0'){flag=1;}return (int)res;}
0 0
- 实现字符串转为int
- 字符串转为int类型
- 字符串转为float,int,double类型
- IP字符串转为int类型存储代码
- 截取字符串中的数字转为int
- SQL字符串转为Int表函数StringToIntArray
- Java int类型转为2进制字符串格式输出
- python 读取csv文档hex字符串 转为int并存储
- INT转为CHAR
- int 转为16 进制数
- NSData转为Int
- python Unicode转为int
- c++中的字符串转为int,字符串split(弱爆了)
- 【Java基础】list转为Integer[]、list转为int[]、Integer[]转为int[]、int[]转为Integer[]
- mysql int类型字段插入空字符串时自动转为0
- 7进制字符串转为10进制的int类型数字(H3C笔试题)
- 8. String to Integer (atoi) 字符串转为int类型的所有可能情况
- 递归实现int转化为char字符串
- Java读linux系统文件文件名乱码
- 利用Packstack自动化部署Openstack
- ./configure -build,-host,-target设置
- [2015/09/08] Unity3D飞机大战(简陋版) Practice
- java学习的一点知识-2015/9/8
- 实现字符串转为int
- Android apk动态加载机制的研究
- 关于linux中nfs服务器的搭建
- Java JNI调用c/c++程序
- 万能拆分脚本
- Implement Queue using Stacks
- 千万级记录的Discuz论坛导致MySQL CPU 100%的优化笔记
- 命中率问题:memcached server LRU 深入分析
- Win7搭建FTP服务器