#include <iostream>using namespace std;int myatoi(const char* value){ int num = 0; while(*value >= '0' && *value <= '9') { num = num*10 + (*value - '0'); value++; } return num;}char* myitoa(int value, char* str, int radix){ if(radix > 36 || radix < 0) //assert return 0; int l, v = 0; char tmp[33]; char* temp =tmp; int sign = 0; if(radix == 10 && value < 0) { sign = 1; value = 0 - value; } while(value) { l = value % radix; value = value / radix; if(l < 10) { *temp++ = l + '0'; } else { *temp++ = l - 10 + 'a'; } } if(!str) { str = new char[temp - tmp + sign + 1]; } char* newStr = str; if(sign) { *newStr++ = '-'; } while(temp - tmp) { *newStr++ = *--temp; } *newStr = '\0'; return str;}void main(){ int a = 11; char b[5] = "1234"; char c[5]; int z; z = myatoi(b); cout<<z<<endl; cout<<myitoa(a, c, 16)<<endl; cin>>z;} 转载于:https://www.cnblogs.com/jackill/archive/2009/07/07/1518247.html