#include <stdio.h>
#include <iostream.h>#define MAX_LONG 0X7FFFFFFFint myatoi(char *s) { // 将数字串转换为整数值,不转换非数字字符
long sign = 1,num = 0;;
char *p = s;
if(*p == '-') {
sign = -1;
p++;
}
if(*p == '+') {
sign = 1;
p++;
}
while(*p) {
if(num >= MAX_LONG/10) {
cout<<"被转换的字串过长,整数越界。"<<endl;
return 0;
}
if((*p >= '0') && (*p <= '9')) num = 10*num + (*p) - '0';
p++;
}
return sign*num;
}int main() {
char s[11];
int num;
cout<<"请输入一个字串 : "<<endl;
// cin>>s; // cin把空格作为字符串结束标志,所以不能输入含有空格的字符串
gets(s);
num = myatoi(s);
cout<<"转换后的整数为 : "<<num<<endl<<endl;
return 0;
}
温馨提示:答案为网友推荐,仅供参考