版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | http://vearne.cc 引子 自己实现一下atoi()和itoa() 这2个函数
实现 my_itoa.cpp
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; char * my_itoa( int value, char * str, int base ){ char array[]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; bool is_minus = false; if(value<0){ is_minus = true; value = - value; } //buffer char buffer[256]; int i=0,j=0; int temp; while(value){ temp =value%base; buffer[i++]=array[temp]; value = value/base; } //cout<<buffer<<endl; if(is_minus){ str[j++] = '-'; } while(--i>=0){ str[j++]=buffer[i]; } str[j]='\0'; return str; } int main () { int i; char buffer [33]; printf ("Enter a number: "); scanf ("%d",&i); itoa (i,buffer,10); printf ("decimal: %s\n",buffer); my_itoa (i,buffer,10); printf ("decimal: %s\n",buffer); itoa (i,buffer,16); printf ("hexadecimal: %s\n",buffer); my_itoa (i,buffer,16); printf ("hexadecimal: %s\n",buffer); itoa (i,buffer,2); printf ("binary: %s\n",buffer); my_itoa (i,buffer,2); printf ("binary: %s\n",buffer); return 0; } my_atoi.cpp
...