把字符串转换成整数
来源:互联网 发布:进口美工刀架9mm品牌 编辑:程序博客网 时间:2024/05/07 11:54
需要考虑以下几点:
1 指针是否为空
2 字符串是否为空字符串
3 字符串是否有正负号
4 字符串转换的数字是否会整数溢出
5 设置全局变量,验证返回0是因为字符串为“0”还是因为错误输入
enum status {kvalid = 0, kInvalid};//全局变量,用于验证返回0是因为字符串为"0"还是错误输入int flag = kvalid;int StrToInt(const char *str){flag = 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))//正整数最大值是0X7FFFFFFF,负整数最小值是0X80000000{num = 0;break;}}else{num = 0;break;}}if(*digit == '\0')flag = kvalid;return num;}
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数 .
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 把字符串转换成整数
- 按光在光纤中的传输模式可将光纤分为单模光纤和多模光纤两种
- Autoconf &Automake 自动生成Makefile
- 准备EMC之 RAM ROM FLASH区别
- Linux下epoll原理及封装
- MFC程序最小化到托盘
- 把字符串转换成整数
- Part3:细节 知识点
- java中的static
- hdu 2964 (数论)
- 生物医学工程领域 生物医学图像处理 SCI期刊
- Starling测试--发布
- infobright安装与配置
- 初学存储-关于IDE、SATA、SCSI、SAS、FC、SSD硬盘类型介绍
- Vector的使用