基于visual Studio2013解决面试题之0507字符串转整数
题目
解决代码及点评
/* 输入一个表示整数的字符串,把该字符串转换成整数并输出。例如输入字符串"345" , 则输出整数 345。 */ #include <iostream> using namespace std; bool gIsVaild = true; // 转化函数 int strToi(const char *pszBuf) { if (pszBuf == NULL) { gIsVaild = false; return 0; } long lNum = 0; bool bFlags = true; int i = 0; // 判断符号位 if (pszBuf[i] == '-') { bFlags = false; i++; } if (pszBuf[i] == '+') { i++; } // 开始转换 while (pszBuf[i] != '\0') { if (pszBuf[i] >= '0' && pszBuf[i] <= '9') { // 转化就是用字符-'0'得到实际的值,然后加到数字中去 lNum = lNum * 10 + pszBuf[i] - '0'; i++; // 判断数值是不是已经溢出 if (lNum < INT_MIN || lNum > INT_MAX) { lNum = 0; break; } } else { gIsVaild = false; break; } } // 加上符号位 if (gIsVaild) { return bFlags == false? -lNum : lNum; } else { return lNum; } } // 测试主函数 int main() { char szBuf[] = "324424443"; long lNum = strToi(szBuf); cout<<lNum<<endl; system("pause"); return 0; }
代码下载及其运行
代码下载地址:http://download.csdn.net/detail/yincheng01/6704519
解压密码:c.itcast.cn
下载代码并解压后,用VC2013打开interview.sln,并设置对应的启动项目后,点击运行即可,具体步骤如下:
1)设置启动项目:右键点击解决方案,在弹出菜单中选择“设置启动项目”
2)在下拉框中选择相应项目,项目名和博客编号一致
3)点击“本地Windows调试器”运行
程序运行结果