转摘自: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