char
*itoa(
int
value,
char
*string,
int
radix);
|
1
2
3
4
5
6
7
8
9
10
|
#include <stdlib.h>
#include <stdio.h>
int
main(
void
)
{
int
number=123456;
char
string[25];
itoa(number,string,10);
printf
(
"integer=%d string=%s\n"
,number,string);
return0;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
char
* itoa(intnum,
char
*str,intradix)
{
/*索引表*/
char
index[]=
"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
;
unsigned unum;
/*中间变量*/
int
i=0,j,k;
/*确定unum的值*/
if
(radix==10&&num<0)
/*十进制负数*/
{
unum=(unsigned)-num;
str[i++]=
'-'
;
}
else
unum=(unsigned)num;
/*其他情况*/
/*转换*/
do
{
str[i++]=index[unum%(unsigned)radix];
unum/=radix;
}
while
(unum);
str[i]=
'\0'
;
/*逆序*/
if
(str[0]==
'-'
)k=1;
/*十进制负数*/
elsek=0;
char
temp;
for
(j=k;j<=(i-1)/2;j++)
{
temp=str[j];
str[j]=str[i-1+k-j];
str[i-1+k-j]=temp;
}
return
str;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#include<stdlib.h>
#include<stdio.h>
intmain(
void
)
{
intnumber=12345;
charstring[25];
itoa(number,string,10);
//按十进制转换
printf
(
"integer=%dstring=%s\n"
,number,string);
itoa(number,string,16);
//按16进制转换
printf
(
"integer=%dstring=%s\n"
,number,string);
return0;
}
|
1
2
|
integer=12345string=12345--说明12345的十进制表示就是12345
integer=12345string=3039——说明12345的十六进制表示是0x3039
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
/*ITOA.C:Thisprogramconvertsintegersofvarious
*sizestostringsinvariousradixes.
*/
#include<stdlib.h>
#include<stdio.h>
voidmain(
void
)
{
charbuffer[20];
inti=3445;
longl=-344115L;
unsignedlongul=1234567890UL;
_itoa(i,buffer,10);
printf
(
"Stringofinteger%d(radix10):%s\n"
,i,buffer);
_itoa(i,buffer,16);
printf
(
"Stringofinteger%d(radix16):0x%s\n"
,i,buffer);
_itoa(i,buffer,2);
printf
(
"Stringofinteger%d(radix2):%s\n"
,i,buffer);
_ltoa(l,buffer,16);
printf
(
"Stringoflongint%ld(radix16):0x%s\n"
,l,buffer);
_ultoa(ul,buffer,16);
printf
(
"Stringofunsignedlong%lu(radix16):0x%s\n"
,ul,buffer);
}
|
1
2
3
4
5
6
|
Output
Stringofinteger3445(radix10):3445
Stringofinteger3445(radix16):0xd75
Stringofinteger3445(radix2):110101110101
Stringoflongint-344115(radix16):0xfffabfcd
Stringofunsignedlong1234567890(radix16):0x499602d2
|
1
2
3
4
5
6
7
8
9
10
11
|
#include <stdlib.h>
#include <stdio.h>
int
main(
void
)
{
int
n;
char
*str =
"12345.67"
;
n =
atoi
(str);
printf
(
"int=%d\n"
,n);
return0;
}
|
1
2
3
4
5
6
7
8
9
10
11
12
|
#include <stdlib.h>
#include <stdio.h>
int
main()
{
char
a[] =
"-100"
;
char
b[] =
"123"
;
int
c;
c =
atoi
(a) +
atoi
(b);
printf
(
"c=%d\n"
, c);
return
0;
}
|