小甲鱼 发表于 2016-2-6 13:07:40

itoa -- 将整型转换为字符串类型

itoa 函数文档

函数概要:

itoa 函数将整型值转换为指定进制表示的标准字符串。

如果是十进制数,并且数值为负,那么转换后的字符串前边有一个负号('-');如果是其他进制数,其值始终被认为是无符号类型。

用于存放的字符串必须拥有足够的空间,以便可以容纳任何可能的数值:对于 2 进制数,需要使用 (sizeof(int)*8+1) 个字节来存放。比如在 16 位平台上,需要 17 个字节来存放;在 32 位平台上,则需要 33 个字节来存放。

注意:

该函数并不是标准的 C 语言函数,所以不能在所有的编译器中使用。

为了提高程序的可移植性,请使用 sprintf 函数代替。


函数原型:

#include <stdlib.h>
...
char *itoa(int value, char *str, int base);

参数解析:


参数含义
value 待转换的整型数值
str 用于存放转换结果的字符串
base 1. 指定转换结果用多少进制数来表示
2. 取值范围是 2~36(2 表示二进制,10 表示十进制……)


返回值:

返回值是一个指向转换结果的指针,同 str 参数。


可移植性:

该函数并不是标准的 C 语言函数,所以不能在所有的编译器中使用。

为了提高程序的可移植性,请使用 sprintf 函数代替:


[*]sprintf(str,"%d",value)// 转换为十进制表示的字符串
[*]sprintf(str,"%x",value)// 转换为十六进制表示的字符串
[*]sprintf(str,"%o",value)// 转换为八进制表示的字符串


演示:

#include <stdio.h>
#include <stdlib.h>

int main ()
{
    int i;
    char buffer;

    printf("Enter a number: ");
    scanf("%d", &i);
    itoa(i, buffer, 10);
    printf("decimal: %s\n", buffer);
    itoa(i, buffer,16);
    printf("hexadecimal: %s\n", buffer);
    itoa(i, buffer, 2);
    printf("binary: %s\n", buffer);
   
    return 0;
}

版权归鱼C工作室(www.fishc.com)所有,转载请注明来源!

SkyBurner 发表于 2016-4-21 10:25:23

本帖最后由 SkyBurner 于 2016-4-21 10:28 编辑

图像识别专家 发表于 2016-11-7 09:45:18

感谢

mhp0114 发表于 2017-2-14 21:35:59

get it

anjoy 发表于 2018-3-7 09:12:46

sprintf   没看懂

lee_studying 发表于 2018-7-14 19:41:27

小甲鱼老师,我有个问题,我照着你的示例程序用gcc编辑器敲了一遍想看看演示结果,我也添加了头文件#include<stdlib.h>,但是编译时会提示test_fun2.c : (.text+0x43): undefined reference to 'itoa' 使用了几次itoa函数,这个就会提示几次,然后还有一行提示:collect 2: ld returned 1 exit status
请问是什么原因导致这个的啊

散步去看雨 发表于 2019-3-28 17:28:46

感谢{:5_102:}

2316829671 发表于 2019-4-10 14:22:01

lee_studying 发表于 2018-7-14 19:41
小甲鱼老师,我有个问题,我照着你的示例程序用gcc编辑器敲了一遍想看看演示结果,我也添加了头文件#includ ...

上面说了不是标准c语言函数,Linux下的 stdlib.h 库没有 itoa 函数

Draem 发表于 2020-3-10 10:17:58

{:5_109:}

Draem 发表于 2020-3-10 10:23:25

#include <stdlib.h>
...
char *itoa(int value, char *str, int base);

木不怨落丶 发表于 2020-8-22 19:42:06

get

gxyxhmqt 发表于 2020-11-21 17:43:27

1

Mr.LuCifer 发表于 2021-2-22 16:28:12

nice!

juwuba 发表于 2021-3-5 15:10:18

我这   2021 3 5

陌上bule 发表于 2021-4-3 15:33:43

学习ing

JingHe1997 发表于 2021-7-7 14:37:02

再看一遍 没太看懂哈哈

远方007 发表于 2021-8-24 20:49:36

2316829671 发表于 2019-4-10 14:22
上面说了不是标准c语言函数,Linux下的 stdlib.h 库没有 itoa 函数

Linux下怎么可能没有 itoa这个函数 , 你用的是假的Linux吧

wataame 发表于 2021-9-17 20:52:20

港谢!

chase78 发表于 2021-11-21 09:54:08

oh,I see!

anzhexuan666 发表于 2022-3-23 10:51:15

{:5_102:}
页: [1] 2
查看完整版本: itoa -- 将整型转换为字符串类型