600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > c语言 atol C语言的常用类型转换函数(atoi atol strtod strtol strtoul)

c语言 atol C语言的常用类型转换函数(atoi atol strtod strtol strtoul)

时间:2021-05-28 01:15:34

相关推荐

c语言 atol C语言的常用类型转换函数(atoi atol strtod strtol strtoul)

51Testing软件测试网W;cn2Jl^?

atof(将字符串转换成浮点型数)51Testing软件测试网 I,g6C_$EP

相关函数51Testing软件测试网t9n3x]Z

atoi,atol,strtod,strtol,strtoul51Testing软件测试网p}Z5h*i'](u"w`

表头文件

ATJ+qa0 #include

A[dI5nEG0定义函数

M*E

p$i??0 double atof(const char *nptr);51Testing软件测试网KWV6`^

函数说明

2gpiRT0n:x&N-~0 atof()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分,如123.456或123e-2。51Testing软件测试网{l@"yEw}

返回值51Testing软件测试网|*wb[_BRm.?

返回转换后的浮点型数。51Testing软件测试网 o2iA0bW#Lk

附加说明51Testing软件测试网_zw:j/Gk;j.{[}

atof()与使用strtod(nptr,(char**)NULL)结果相同。

'Il0o3V"q,koQ0范例

?A"Al`7E0 /* 将字符串a 与字符串b转换成数字后相加*/

,lI"G!N:`)F Qe

M0#include51Testing软件测试网6W4D6oG.|;h3MD!Z

main()

L;Na+~)D

DK3k6y0{

N2F%kA*_/B/l0char *a=”-100.23”;51Testing软件测试网E{

T,z*{"B

char *b=”200e-2”;

u'xb*U2? FDs0float c;

n!cn8zAn$x!UD"IY0c=atof(a)+atof(b);51Testing软件测试网+mT5a @$GD4Y"og

printf(“c=%.2f ”,c);

;zg5?*WxU0}51Testing软件测试网!a^0^[Ss&a\H

执行51Testing软件测试网|`*POv"i2i.i0_)r)?

c=-98.23

9W+Rv3a@'_051Testing软件测试网+CvJ,yFs%X(n

R4nQ)U Y6~k051Testing软件测试网MF4{%dr

e$j#{9|

Z r0atoi(将字符串转换成整型数)

.a;`0[yb~0相关函数

'Jw"l l*fz'm~0 atof,atol,atrtod,strtol,strtoul

~t[&J7bb5@&G(}0表头文件

Ht8h

l{D0 #include

;\7xk-HK+n0s.L0定义函数

B.YV1bF.b5~ oU0 int atoi(const char *nptr);

#G1J0Zq1OW y"~.E0函数说明

!C.G@NQ&F0 atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。51Testing软件测试网pt1p/mq

返回值51Testing软件测试网ENZ|2T'F_

返回转换后的整型数。

#GG2B*rF5q0附加说明

MN1Pyr'hdQ*H0 atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。

m@d]w;w]^$T0范例51Testing软件测试网w-Zhp7j!L%z!{

/* 将字符串a 与字符串b转换成数字后相加*/

Y#U

}'Z:n*t0#include51Testing软件测试网@WF3Pw^G.g

mian()

'x%vKy4K.akRdpV_+aK0{51Testing软件测试网7t({5m%f+~'d-q;^

char a[]=”-100”;

HV+HFxP2iM0char b[]=”456”;51Testing软件测试网hz5?8a(GYu5\UD+?P/u

int c;51Testing软件测试网AI,y2U,O~)xH

c=atoi(a)+atoi(b);

c^:L.hTF7f9EZ*z3H0printf(c=%d ”,c);

*k0]MqS|4i0}

.`+u*cwE2i8M0执行

r Jk9QU6d,T0 c=35651Testing软件测试网eqU5@'uDL4R

51Testing软件测试网rl p'O~xu k

51Testing软件测试网J-EG-aMgP.Bx1k

51Testing软件测试网P"O+}'z$o'o"@3Q%n

)Yjo_8F%i i+hh&|0atol(将字符串转换成长整型数)

8Kj"bD&Y

k*W/~0相关函数

_)j/Se9h-x,u$h!b0 atof,atoi,strtod,strtol,strtoul

ys4c _X7]a0表头文件

B:`4]@w`\0V1f0 #include

?;xV'^9k"K0定义函数

.z"e1S{`b.J_0 long atol(const char *nptr);

8q*F.F_ to3E K0函数说明51Testing软件测试网mr3o[4VR

atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('')才结束转换,并将结果返回。

g$wlgz.x9g0返回值51Testing软件测试网%uRzwcH'v

返回转换后的长整型数。51Testing软件测试网Dl'a)^n ]"aB$Y

附加说明51Testing软件测试网5r;W xl7b-d

atol()与使用strtol(nptr,(char**)NULL,10);结果相同。

in!FuMFZR0范例51Testing软件测试网_

^wA7q2HOq

/*将字符串a与字符串b转换成数字后相加*/51Testing软件测试网tq8q,wji9Pu1Q

#include

Xo+B

lNu+mKr0main()51Testing软件测试网

d`N3nR"m.OE

{51Testing软件测试网PW[,p(jTT/~

char a[]=”1000000000”;51Testing软件测试网4jN/RMS0ZQV

char b[]=” 234567890”;

7`l"aOH!Ik[z0long c;

4q5{%]{TJ2G

bz^x9A0c=atol(a)+atol(b);51Testing软件测试网r&W7ZdH~DdC9`

printf(“c=%d ”,c);

c"jk$H!W*fV0}

fu:GPr.Z:z0执行

'pA"RGLRT2`0 c=123456789051Testing软件测试网YW0C(Hf{ O

51Testing软件测试网\5NO7|]qx

Fz;p)X0B})M,L/Zm)v/}0

;}'gg3r(e Z"Y.Bf0 51Testing软件测试网T#dS_fp[o b

gcvt(将浮点型数转换为字符串,取四舍五入)

;ol9ccIhIbj^0相关函数

j,|1Y,ZJB0 ecvt,fcvt,sprintf

8S0YO}\:r*C0表头文件51Testing软件测试网j`o)z)Z&@.i

#include

0b1P4XsW!L Rm5V0定义函数

}j-WN:W/g]L8y0 char *gcvt(double number,size_t ndigits,char *buf);51Testing软件测试网S*C]+{%Ei;Z

函数说明

iG*w_D'R;kc.P0 gcvt()用来将参数number转换成ASCII码字符串,参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。51Testing软件测试网!O)u!A.?9JYV*y2f

返回值

HpE(^i%F&Y0 返回一字符串指针,此地址即为buf指针。

AC;C;Q9Y'cf9d.{$^0附加说明51Testing软件测试网fJ:{*f&}.jM9j

51Testing软件测试网b Gb4il#kLX

范例

*\\3u4{(G["t2o KgK0i0 #include

lo1pg[\,HZ!]b,o0main()

4`9z~,J$wS$f0{

(v3wC%n(b

W:h0double a=123.45;

Ld1Ezf%uUN)Q0double b=-1234.56;

o1ui!I;p'Eb6[&w0char *ptr;51Testing软件测试网I$A+`S:~I$f&L]

int decpt,sign;51Testing软件测试网/uY/V{C.yn#B9oR

gcvt(a,5,ptr);

+wAQzO s0printf(“a value=%s ”,ptr);51Testing软件测试网hb,a]J

ptr=gcvt(b,6,ptr);51Testing软件测试网 D'|e y ]+u-L

printf(“b value=%s ”,ptr);51Testing软件测试网0g;~!E)p:f$sg

}51Testing软件测试网C/_nS0`}&~^S

执行51Testing软件测试网+j!U1q"WJ$h+Z,r

j

a value=123.45

/v

A3m^F0b value=-1234.5651Testing软件测试网3|7[a(c[O

51Testing软件测试网'p!W_/to`?H-[

X8]M2c\%u8s051Testing软件测试网&o$A};P#|y]

$zU5ztsh5x]0strtod(将字符串转换成浮点数)51Testing软件测试网4e3oKP:M-kcF!o+|

相关函数51Testing软件测试网2RlWS&Zjdh

atoi,atol,strtod,strtol,strtoul

Y3S$EXn4C3rhME*{0表头文件

_

waW ?0 #include

1y-RY~FR0定义函数

9OX_0ky.gG0 double strtod(const char *nptr,char **endptr);

OKMpk{aml0函数说明

6ji1}O5z.n0Vl/F"`0 strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。51Testing软件测试网e#~&\$Vb#Sap

`

返回值51Testing软件测试网V:J,oprG@

返回转换后的浮点型数。

p8t%e([4P+?2R1d}0附加说明

*J6H"^N:^0 参考atof()。51Testing软件测试网8tlKdx Z@C6W

范例51Testing软件测试网pc8H;eH|-rq'pJ

/*将字符串a,b,c 分别采用10,2,16 进制转换成数字*/51Testing软件测试网|2QZ

^9R

#include

F;I*V:{X)yWnb0mian()

|C(`|;vM1Ha"`0{

Y,du}cPVO)pc~0char a[]=”1000000000”;

)e+^)nO+Wb T%|:c0char b[]=”1000000000”;51Testing软件测试网`;|p(p6wJ

char c[]=”ffff”;51Testing软件测试网6D$ula${6A$U

printf(“a=%d ”,strtod(a,NULL,10));51Testing软件测试网I,^E5Dp-i

printf(“b=%d ”,strtod(b,NULL,2));

0yB~&DH YxM0printf(“c=%d ”,strtod(c,NULL,16));

,UR]4a-Y-mPU9J0}51Testing软件测试网0?&b.Bl:y8uZ

执行51Testing软件测试网T9E5i

W3wW#W

a=1000000000

Np*P\a/b(c0b=51251Testing软件测试网n]-E

u|4y[ES

c=6553551Testing软件测试网3\fB5OB

51Testing软件测试网(txz?5cH/x$m

D5y-yP}|N051Testing软件测试网[*XX:Sc1T

C6ZS6r+lu0strtol(将字符串转换成长整型数)51Testing软件测试网}L)fg?Xjq

相关函数

8b3w8z$|E0 atof,atoi,atol,strtod,strtoul51Testing软件测试网

lg#v#r

bl

表头文件51Testing软件测试网~/lrm~[!lS5F9]

#include

xos n#Gb(l2ek~0定义函数

1q8B*V+F;I_ xw9y!@gQFs0 long int strtol(const char *nptr,char **endptr,int base);

o:O/?NhqR$M0函数说明

+Xi*DI'q0 strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如 base值为10则采用10进制,若base值为16则采用16进制等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。

+Vzo)@V)i0返回值

U;}?)nz0 返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。51Testing软件测试网yzSt:a9XzA

附加说明51Testing软件测试网s2\o~;`-P

ERANGE指定的转换字符串超出合法范围。

Dz$D;s%qy9S0范例51Testing软件测试网*t4gZ0B%a4C(kWZe$I

/* 将字符串a,b,c 分别采用10,2,16进制转换成数字*/

/bH"N*e2mZ-Jg$_-g-}0#include51Testing软件测试网Fq6RSz,r~

main()

?4V+T Nn&C$NS0{

b7@+F:sF8ajx4^DR6D0char a[]=”1000000000”;

f!b6B4M1UE0char b[]=”1000000000”;

0F2{o5hj7?)?$w0char c[]=”ffff”;

chs!{'e0printf(“a=%d ”,strtol(a,NULL,10));

2pfD+U&O0printf(“b=%d ”,strtol(b,NULL,2));

}cC*qW4M5L$d0L0printf(“c=%d ”,strtol(c,NULL,16));

#fT0W;E"B0}51Testing软件测试网qvqAzo kT

执行

1h.ay6n.cEsV^+Nj0 a=100000000051Testing软件测试网E|9NLP(D"}s$g*p_$h

b=51251Testing软件测试网K9@@HIa

c=6553551Testing软件测试网DhU,L'Hr6cW]{

51Testing软件测试网*Z9K(ff"B%jo

[;`"v \f sta(b/x9?D0

_|H\UM r,E.~0 51Testing软件测试网-\EZ3s0s[,^?

strtoul(将字符串转换成无符号长整型数)51Testing软件测试网IIS'C$_P$|,i

相关函数51Testing软件测试网~!~V9T,N!X$MO6D0c

atof,atoi,atol,strtod,strtol

c7r_?)S(~e5c}0表头文件

`K4WLTnnv0 #include

NB,W.?.o0定义函数51Testing软件测试网D.v:V*Z-i

unsigned long int strtoul(const char *nptr,char **endptr,int base);

0L*G]*@n?0函数说明

G$XcwT+A)u0 strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36,或0。参数base代表采用的进制方式,如base值为10则采用10进制,若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换,但遇到如'0x'前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时('')结束转换,并将结果返回。若参数endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。51Testing软件测试网l&g%jc}G#J

F{P

返回值

0PJq6GE ^r)y$E0 返回转换后的长整型数,否则返回ERANGE并将错误代码存入errno中。51Testing软件测试网*g|#S/F2yNA/kBrl

附加说明

{+O fml

L,M+d s+a0 ERANGE指定的转换字符串超出合法范围。

[uT\'d2R0范例

(Xq(`6V9EZ(rr0 参考strtol()51Testing软件测试网N3KS&Hy

51Testing软件测试网M+m;k)C3FG5YLF'bf

51Testing软件测试网peywCh

Zcik0q{d1pr,N0 51Testing软件测试网!~h/FjPQ

toascii(将整型数转换成合法的ASCII 码字符)

APRZ5jdR0相关函数51Testing软件测试网7g$y"fb3JI,M3O@y

isascii,toupper,tolower

@`W]lhe0表头文件51Testing软件测试网gA!Hifs-fd

#include51Testing软件测试网y-K"}qmUDf)h_

定义函数

+t.t.S"HBC1p0 int toascii(int c)

'i_Om,{0函数说明

j]4k$UX-zk'GqN#mr0 toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。

f9nLR&DM?v0返回值

f%M*GIk8Y%Z0 将转换成功的ASCII码字符值返回。

i'P8[.O1OlV|7b0范例

DuD4{G)O`%n"W)F0 #include

&gQ

C`.z1\%Y2F$@0main()

F5B];d1_Pe0{

"U/YYa3oU\B0int a=217;51Testing软件测试网]v4[8^&J2V%Uh

char b;51Testing软件测试网Jonw8}jY-Fr;kl

printf(“before toascii () : a value =%d(%c) ”,a,a);51Testing软件测试网`8[6G&W9N6YeB+v

b=toascii(a);51Testing软件测试网:HjTC@+?k wr

printf(“after toascii() : a value =%d(%c) ”,b,b);

\[4N!].M&XD.fC0}

,C%]8}2b8G&d1s0执行

Pl2V;Pm0 before toascii() : a value =217()

+NT*Mr%m0after toascii() : a value =89(Y)

L%Zek7Y.nL:O051Testing软件测试网(D%^ueunu+Of

51Testing软件测试网%C4yi*]

S"Xb#q`&B

51Testing软件测试网 IJ"y!J0T~-_:i

51Testing软件测试网$w8N_/GHN;j

tolower(将大写字母转换成小写字母)

&RJ B!U*M~0相关函数51Testing软件测试网?v}7WD&yN*{

isalpha,toupper51Testing软件测试网O/p |iXT

表头文件

xDO.^ZD0 #include51Testing软件测试网md^F-ORD

D1V{IJr

定义函数51Testing软件测试网n(c2x1r^v$x

int tolower(int c);51Testing软件测试网w2ZnP[Gw%h

函数说明51Testing软件测试网9H(l%^N9a6KjV

若参数c为大写字母则将该对应的小写字母返回。

-t^,K s$C0返回值

NH*a\P'j0rV0 返回转换后的小写字母,若不须转换则将参数c值返回。51Testing软件测试网Sfij0A;wP5f/HES

附加说明

)md6u-dDHm0

n9dIBtC+h$F9[0范例

9su

O(]\X0 /* 将s字符串内的大写字母转换成小写字母*/51Testing软件测试网3hN0}$l#YE

#include51Testing软件测试网:tI8`$B

Sme:WU

main()51Testing软件测试网b;oiJg

{

S/[)p`*l%j0char s[]=”aBcDeFgH12345;!#$”;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。