atoi的封装
来源:互联网 发布:r330清零软件 编辑:程序博客网 时间:2024/06/09 16:12
atoi可以实现字符串向数字的转换,然后如果字符串不是由数字组成,或者是数字溢出了,那么atoi的返回值是未知的。因此,对atoi进行封装,可以通过返回值确认该字符串是否可以转换为数字,并输出返回的数字。
/*** @brief atoi_wrap** 字符串转换成正数的封装.* @param[in] pBuf 要转换的字符串* @param[in] bufSize 要转换的字符串长度* @param[out] pVal 转换后的值* @return -1转换失败,1转换成功*/int atoi_wrap(const char* pBuf, int bufSize, int* pVal){ int i = 0; int hasSign = -1; if ((NULL == pVal) || (NULL == pBuf) || (0 == bufSize)) { return GM_FALSE; } for (i = 0; i < bufSize; ++i) { if ('\0' == *(pBuf + i)) { bufSize = i; } } /** @brief 判断是正数还是负数 */ if (('-' == *pBuf) || ('+' == *pBuf)) { hasSign = 1; } if (GM_TRUE == hasSign) { if (1 == bufSize) { return -1; } for (i = 1; i < bufSize; ++i) { if ((*(pBuf + i) < '0') || (*(pBuf + i) > '9')) { return -1; } } } else { for (i = 0; i < bufSize; ++i) { if ((*(pBuf + i) < '0') || (*(pBuf + i) > '9')) { return -1; } } } *pVal = atoi(pBuf); if (((-2147483647L - 1) == *pVal) || ((2147483647L) == *pVal)) { return -1; } else { return 1; }}
- atoi的封装
- ATOI的用法
- atoi() itoa() 的实现
- atoi函数的实现
- atoi函数的学习
- 奇怪的atoi函数!
- atoi的实现
- atoi()函数的实现
- atoi()函数的实现
- atoi的自我实现
- atoi函数的实现
- atoi函数的实现
- atoi的实现
- atoi函数的实现
- atoi函数的实现
- atoi 的实现
- atoi函数的用法
- atoi的实现
- datagridview中添加合计行(一)
- Tomcat 7 管理员配置
- 19个非常有用的jQuery图片滑动插件和教程
- 第二代飞信机器人“小达”问世了
- 今天蛋疼的“WINDONS无法启动,找不到SYSTEM32/DRIVERS/isapup.sys”
- atoi的封装
- datagridview中添加合计行(二)
- oracle命令
- 搭建VS2008+OpenCV2.1开发环境
- for 与 ipc
- 25个Apache性能优化技巧推荐
- 我的一天我做主(Enjoy)- 5
- Nginx--HTTP反向代理服务器
- Java多线程 -- 正确使用Volatile变量