在Ubuntu下编程:Linux内核中atoi()函数与sprintf()替代itoa()的用法详解
今天在 Ubuntu 下进行编程。发现 Linux 内核中仅有 atoi()函数,此函数被包含在 stdlib.h 头文件里。同时没有 itoa()函数。然而,itoa()函数的功能能够用 sprintf()函数来替代。例如:

int nValue = 80;
用于分配动态内存。
将 szBuffer 这个内存块进行初始化,将其所有字节都设置为 0,初始化的范围是 sizeof(int) + 1 这么大的空间。
sprintf 函数把整数 nValue 转换成字符串后存到 szBuffer 中。
释放 szBuffer 所动态分配的内存。
sprintf 和 printf 的用法几乎相同,区别仅在于打印的目的地不同。sprintf 是将内容打印到字符串中,而 printf 是直接在命令行上输出。正因如此,sprintf 比 printf 更有用。
sprintf 是个变参函数,定义如下:
sprintf 函数用于将格式化的数据写入字符串缓冲区。它接受一个字符指针 buffer 作为目标缓冲区,一个格式化字符串 format 以及可选的其他参数 argument 等。通过格式化字符串 format 来指定数据的格式,并将相应的参数按照格式写入到 buffer 中。
前两个参数类型是固定的,后面能够连接任意多个参数。它的精华明显就在第二个参数:
格式化字符串上。
sprintf 最常见的应用之一是把整数打印到字符串里。因此,在大多数场合,sprintf 能够替代 itoa。
C语言梳理一下,分布在以下10个章节中: