各位帮我看看这个数值型转字符串型的函数,是我自己写的,不知执行速度是不是算快?void UINTtoSTR(UINT value,wchar_t * str)//数值型转字符串型
{
int i=0;
do
{
str[i++]=value%10+‘0’;
value/=10;
}
while(value);
str[i--]=0;
//首尾倒置
int j=0,temp;
while(j<i)
{
temp=str[i];
str[i--]=str[j];
str[j++]=temp;
}
}

解决方案 »

  1.   

    VC自带这个函数 
    你的复杂一些怎么也是O(2n)吧
    你那个算符号了么 这个不算符号是O(n) 而且还能转换进制
    用原装的好 呵呵
    #include <msvcrt/errno.h>
    #include <msvcrt/stdlib.h>
    #include <msvcrt/internal/file.h>
    char* _itoa(int value, char* string, int radix)
    {
      char tmp[33];
      char* tp = tmp;
      int i;
      unsigned v;
      int sign;
      char* sp;  if (radix > 36 || radix <= 1)
      {
        __set_errno(EDOM);
        return 0;
      }  sign = (radix == 10 && value < 0);
      if (sign)
        v = -value;
      else
        v = (unsigned)value;
      while (v || tp == tmp)
      {
        i = v % radix;
        v = v / radix;
        if (i < 10)
          *tp++ = i+'0';
        else
          *tp++ = i + 'a' - 10;
      }  if (string == 0)
        string = (char*)malloc((tp-tmp)+sign+1);
      sp = string;  if (sign)
        *sp++ = '-';
      while (tp > tmp)
        *sp++ = *--tp;
      *sp = 0;
      return string;
    }