atoi:将字符串转换成整型数;atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串时('\0')才结束转化,并将结果返回(返回转换后的整型数)。 /* email:shenganbeiyang@163.com QQ:501968942 */ #include "iostream" using namespace std; void atoi(const char * inputStr,int &iResult); int main() { int test=0; atoi(" -1s23",test); cout<<test; } void atoi(const char * inputStr,int &iResult) { int i=0; int signBit=1; if(inputStr==0) throw "Invalid Address"; while(inputStr[i]==' ')//跳过空格 ++i; if(inputStr[i]=='+')//跳过+号 ++i; if(inputStr[i]=='-') {signBit=-1;++i;}//跳过-号,并且记录负数 while(inputStr[i]!='\0') { if(inputStr[i]>=48&&inputStr[i]<=57) { iResult*=10;//数字字符增10倍 iResult+=(inputStr[i]-48); ++i; } else break; } iResult=signBit*iResult;//处理符号 }
测试结果:
面试 准备之 atoi
最新推荐文章于 2024-03-26 09:44:32 发布