将字符串转化为整数问题(C++)
2015-03-06 16:58
190 查看
1.将字符串转化为整数问题(C++)
仿照atoi实现代码:
1.将字符串转化为整数问题(C++)
仿照atoi实现代码:
// 仿照atoi函数实现字符串转化为整形数据问题 // #include "stdafx.h" enum MyEnum { eValid = 0,//合法 unValid //不合法 }; int mState = eValid;//定义全局变量,输入非法时设置该全局变量; //则通过检查该全局变量就能够判断输入是否合法; //实现字符串转化为整形数据atoi问题 int StrToInt(char* str) { //变量初始化 int number = 0; mState = unValid; //判断字符串是否为空 if (str != nullptr) { /********判断字符是否合法*********/ //首先判断第一位是否为“+”或“-”号 bool minus = false;//正负标志 if (*str == '+') { ++str; } else if (*str == '-') { ++str; minus = true; } //若两者都不是,则不进行++str; /*********处理字符转换**********/ //判断是否为合法字符 while ((*str >= '0')&&(*str <= '9')) { number = number * 10 + (*str - '0'); ++str; } //判断是否为正常循环完毕 if (*str == '\0') { //处理数据 mState = eValid; if (minus) { number = 0 - number;//转换为负数 } } else //字符串有错情况 { number = 0; } } return number; } int _tmain(int argc, _TCHAR* argv[]) { //测试 printf("%d\n", StrToInt("+23")); printf("%d\n", StrToInt("-23")); printf("%d\n", StrToInt("23")); printf("%d\n", StrToInt("a23")); return 0; }
相关文章推荐
- c++关于字符串的操作(转化为整数,输入)
- C++ 整数与字符串相互转化
- C\C++字符串转化成整数
- java 字符串转化为整数溢出问题处理
- C++ 编译出现字符串常量转化问题
- c++实现atoi()和itoa()函数(字符串和整数转化)
- C++:通过一个点的数据对象转换成字符串的例子来说明整数转化为字符串
- c++实现atoi()和itoa()函数(字符串和整数转化)
- C++中的枚举值类型转化为整数和字符串
- c++实现atoi()和itoa()函数(字符串和整数转化)
- C++ 整数转化成字符串 字符串转换为整数
- C/C++ 字符串与数字相互转化方法小结
- 字符串转化为整数
- 关于字符串转化问题
- json \u unicode字符串转化 c++
- [C/C++]_[VS2010来源与UTF8中国字符串转码ANSI问题]
- C++字符串转化为数字的库函数
- 算法(二)字符串转化为整数
- php http_build_query 将数据转化成urlencode字符串出现的问题
- 关于16进制的字符串转为整数的问题