[C++] Linux下的itoa函数
生活随笔
收集整理的這篇文章主要介紹了
[C++] Linux下的itoa函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
上篇文章說到linux需要itoa函數,下面我就提供一份跨平臺的itoa函數。
這個函數會返回字符串的長度,在某些場合下會很有用。
//return the length of result string. support only 10 radix for easy use and better performance
int my_itoa(int val, char* buf)
{
const unsigned int radix = 10;
char* p;
unsigned int a; //every digit
int len;
char* b; //start of the digit char
char temp;
unsigned int u;
p = buf;
if (val < 0)
{
*p++ = '-';
val = 0 - val;
}
u = (unsigned int)val;
b = p;
do
{
a = u % radix;
u /= radix;
*p++ = a + '0';
} while (u > 0);
len = (int)(p - buf);
*p-- = 0;
//swap
do
{
temp = *p;
*p = *b;
*b = temp;
--p;
++b;
} while (b < p);
return len;
}
這個實現的典型速度大概是180毫秒左右。作為對比,MFC自帶的itoa耗時是320毫秒左右。用snprintf的實現就不要出來比速度了,不是一個級別的。
總結
以上是生活随笔為你收集整理的[C++] Linux下的itoa函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果电脑怎么截图苹果电脑如何全选图片
- 下一篇: 电脑系统怎么一键重装新手如何安装电脑系统