易截截图软件、单文件、免安装、纯绿色、仅160KB

[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 int radix = 10;
    char* p;
    int a;        //every digit
    int len;
    char* b;    //start of the digit char
    char temp;
    p = buf;
    if (val < 0)
    {
        *p++ = '-';
        val = 0 - val;
    }
    b = p;
    do
    {
        a = val % radix;
        val /= radix;
        *p++ = a + '0';
    } while (val > 0);
    len = (int)(p - buf);
    *p-- = 0;
    //swap
    do
    {
        temp = *p;
        *p = *b;
        *b = temp;
        --p;
        ++b;
    } while (b < p);
    return len;
}
这个函数会返回字符串的长度,在某些场合下会很有用。
我测试了一下,这个函数大概比MFC自带的itoa要快20%左右。
(因为不需要在循环体内判断if (a > 9)了,所以更快)。


相关文档:

(转载)关于Linux内核学习

常常有人问:我想学习内核,需要什么基础吗?Linus Torvalds本人是这样回答的:你必须使用过Linux。 这个……还是有点太泛了吧,我想下面几个基础可能还是需要的,尽管不一定必需:
  1, 关于操作系统理论的最初级的知识。不需要通读并理解《操作系统概念》《现代操作系统》等巨著,但总要知道分时(time-s ......

Linux netfilter源码分析(1)

转贴自:http://alexanderlaw.blog.hexun.com/8960896_d.html
Linux netfilter源码分析(1)
内容基本上来自两篇文章:
《Netfilter源码分析》—(独孤九贱http://www.skynet.org.cn/index.php)
《Linux Netfilter实现机制和扩展技术》——(杨沙洲 国防科技大学计算机学院)
一、   IP报文的接 ......

linux下修改本机Ip地址的方法

#vi /etc/sysconfig/network-scripts/ifcfg-eth0
内容如下。
DEVICE=eth0
BOOTPROTO=none
IPADDR=192.168.1.115
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
HWADDR=00:25:11:E2:2E:53
ONBOOT=yes
TYPE=Ethernet
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号