another itoa

    技术2022-05-11  71

    #include <iostream>using namespace std;

    char *itoa(int val, char *buf, int radix){ char *p, *first, temp; int digital; p = buf;  if (val < 0) {  *p++ = '-';  val = -val; }  first = p;  do {  digital = val%radix;  val /= radix;  if (digital > 9)  {   *p++ = (char)(digital - 10 + 'A');  }  else  {   *p++ = (char)(digital + '0');  } }while(val > 0);  *p-- = '/0';  do  {  temp = *p;  *p = *first;  *first = temp;  p--;  first++; }while(first < p);  return buf;}

    void main(void){ int a = 255; int radix = 16; char str[64]; itoa(a, str, radix); cout << str << endl;} 


    最新回复(0)