long 转换到 char*

来源:互联网 发布:王欣出狱 知乎 编辑:程序博客网 时间:2024/05/04 02:18

转摘自:http://hi.baidu.com/lethalboy/blog/item/cac640a0e436baa7caefd025.html

itoa ltoa ultoa 这3个函数在头文件 <stdlib.h>中

其原形:

char *itoa(int value,char *string,int radix)
cahr *ltoa(long value,char *string,int radix)
char *ultoa(unsigned long value,char *string,int radix)

value    要转换的数。
String    字符串结果。
Radix     value的基数。

显然易见:

i为int,l为long,ul为unsigned long。

数字不大时,用错了基本没影响。

说明:

此类函数是把 value转换成一个以空格结尾的字符串,并存储在string中(至多33个字节),不执行上溢出检查。

radix指出value的基数,radi 必须在2-36的范围内。

例:

#include <stdlib.h>
#Include <stdio.h>
void main( void )
{

char buffer[20];

int i = 3445;

long l = -344115;
unsigned long ul = 1234567890;
itoa( i, buffer, 10 );
printf( "String of integer %d (radix 10): %s/n", i, buffer );
itoa( i, buffer, 16 );
printf( "String of integer %d (radix 16): 0x%s/n", i, buffer );
itoa( i, buffer, 2 );
printf( "String of integer %d (radix 2): %s/n", i, buffer );
ltoa( l, buffer, 16 );
printf( "String of long int %ld (radix 10): 0x%s/n", l, buffer );
ultoa( ul, buffer, 16 );
printf( "String of unsigned long %lu (radix 10): 0x%s/n", ul, buffer );

}


输出
String of integer 3445 (radix 10): 3445
String of integer 3445 (radix 16): 0xd75
String of integer 3445 (radix 2): 110101110101
String of long int -344115 (radix 10): 0xfffabfcd
String of unsigned long 1234567890 (radix 16): 0x499602d2

原创粉丝点击