昨天群里有人问怎么把字串转为整型,VC中可以用 atoi() 函数来实现这一过程,但该网友要求自己编写一个函数来实现,于是我就随便写了一段,突然想起CSDN的博客好长时间没有更新了,所以把代码贴出来,大家给点意见和建议。
int Myatoi(char *str) { int n=0; char *temp=str; if(*str=='+'||*str=='-') // 若为正负号则指向下一字符 str++; while(*str!=NULL) // 判断是否为结尾 { if(*str<'0'||*str>'9') // 不是数字则跳出循环 break; n=n*10+((*str)-48); // 字符(数字)ASCII码减48为对应的数字 str++; // 指向下一字符 } if(*temp=='-') // 若原字串中第一个为负号 则为相反数 n=-n; return n; } int main(int argc, char* argv[]) { char c[100]; while(true) { cout<<"请输入要转换的数字:"; cin>>c; cout<<"转换后的字串为:"<<Myatoi(c)<<"\n"<<endl; } return 0; }
临时作了修改,比较仓促,可能有更好的方法,希望大家给点意见和建议
posted on 2010-06-05 08:57 zimmerk 阅读(248) 评论(0) 编辑 收藏 举报