首页 > 试题广场 >

实现my_strtoint32()函数

[编程题]实现my_strtoint32()函数
  • 热度指数:67 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
实现函数 int32_t my_strtoint32(const string& str), 将一个10进制的ASCII码字符串转换成 int32_t,支持正负号,字符串前后请允许空格, 数字串可以有前置0 `12345 == my_strtoint32("12345");`
 #define UINT32_MAX 0xffffffff 
#define EINVAL 22 #define ERANGE 34 ``` ``` 返回值与错误码参照 <stdlib.h> strtol 说明 Return Value The strtol() function returns the result of the conversion, unless the value would underflow or overflow. If an underflow occurs, strtol() returns LONG_MIN. If an overflow occurs, strtol() returns LONG_MAX. In both cases, errno is set to ERANGE. Errors EINVAL, The given base contains an unsupported value. ERANGE, The resulting value was out of range. ``` </stdlib.h>

输入描述:
输入包含一行:
输入一个字符串,包含数字,正负号,空格,前置0,字母。


输出描述:
在一行内输出 处理后的数字|errno值,如果字符串非法,处理后的数字为0
示例1

输入

a 123 123

输出

0|22 123|0