一、编程实现将字符串转换为整型数;
int my_atoi(const char *str);
1.遇到非数字字母,停止转换;
示例: str = "234.324" ; 返回值是234;
2.首先出现空格的字符串可以转换,转换开始后,遇到空格停止转换;
示例: str =" 342 456"; 返回值是342;
3.可以处理正负号;
示例: str = " +234.bad" ; 返回值是 234; str = " -342ab.234" ; 返回值是:-342;
4.可以处理八进制,和十六进制;
示例: str = " +0xff"; 返回值是 255; str = " 0123" ; 返回值是 83;
5 可以处理int 型溢出的情况;
示例; str = "567898765678987656789"; str = 2147483647; (INT_MAX 宏在 limits.h 头文件中)
str = "-234324665544325345325; str = - 2147483648; (INT_MIN 宏在limits.h 头文件中)
代码如下:
#include <iostream>
#include <ctype.h>
#include <limits.h>
#include <stack>
using namespace std;
const char * HEX_MAX = "7fffffff";
const char * DEC_MAX = "2147483647";
const char * OCT_MAX = "17777777777";
const char * HEX_MIN = "80000000";
const char * DEC_MIN = "2147483648";
const char * OCT_MIN = "20000000000";
const int HEX_LEN = 8;
const int DEC_LEN = 10;
co