<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[C++中字符串与整型浮点型间的转换]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 25 Oct 2007 09:51:25 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	atoi,atol,strtod,strtol,strtoul实现类型转换<br/>所属类别：C/C++<br/>推荐指数：★★★☆<br/>文档人气：427<br/>本周人气：24<br/>发布日期：2007-6-6<br/>atof（将字符串转换成浮点型数）<br/>相关函数<br/> &nbsp; &nbsp; atoi，atol，strtod，strtol，strtoul<br/>表头文件<br/> &nbsp; &nbsp; #include &lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; double atof(const char *nptr);<br/>函数说明<br/> &nbsp; &nbsp; atof()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(&#039;&#039;)才结束转换，并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分，如123.456或123e-2。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的浮点型数。<br/>附加说明<br/> &nbsp; &nbsp; atof()与使用strtod(nptr,(char**)NULL)结果相同。<br/>范例<br/> &nbsp; &nbsp; /* 将字符串a 与字符串b转换成数字后相加*/<br/>#include&lt;stdlib.h&gt;<br/>main()<br/>{<br/>char *a=”-100.23”;<br/>char *b=”200e-2”;<br/>float c;<br/>c=atof(a)+atof(b);<br/>printf(“c=%.2f ”,c);<br/>}<br/>执行<br/> &nbsp; &nbsp; c=-98.23<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>atoi（将字符串转换成整型数）<br/>相关函数<br/> &nbsp; &nbsp; atof，atol，atrtod，strtol，strtoul<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; int atoi(const char *nptr);<br/>函数说明<br/> &nbsp; &nbsp; atoi()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(&#039;&#039;)才结束转换，并将结果返回。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的整型数。<br/>附加说明<br/> &nbsp; &nbsp; atoi()与使用strtol(nptr，(char**)NULL，10);结果相同。<br/>范例<br/> &nbsp; &nbsp; /* 将字符串a 与字符串b转换成数字后相加*/<br/>#include&lt;stdlib.h&gt;<br/>mian()<br/>{<br/>char a[]=”-100”;<br/>char b[]=”456”;<br/>int c;<br/>c=atoi(a)+atoi(b);<br/>printf(c=%d ”,c);<br/>}<br/>执行<br/> &nbsp; &nbsp; c=356<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>atol（将字符串转换成长整型数）<br/>相关函数<br/> &nbsp; &nbsp; atof，atoi，strtod，strtol，strtoul<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; long atol(const char *nptr);<br/>函数说明<br/> &nbsp; &nbsp; atol()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(&#039;&#039;)才结束转换，并将结果返回。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的长整型数。<br/>附加说明<br/> &nbsp; &nbsp; atol()与使用strtol(nptr,(char**)NULL,10);结果相同。<br/>范例<br/> &nbsp; &nbsp; /*将字符串a与字符串b转换成数字后相加*/<br/>#include&lt;stdlib.h&gt;<br/>main()<br/>{<br/>char a[]=”1000000000”;<br/>char b[]=” 234567890”;<br/>long c;<br/>c=atol(a)+atol(b);<br/>printf(“c=%d ”,c);<br/>}<br/>执行<br/> &nbsp; &nbsp; c=1234567890<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>gcvt（将浮点型数转换为字符串，取四舍五入）<br/>相关函数<br/> &nbsp; &nbsp; ecvt，fcvt，sprintf<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; char *gcvt(double number，size_t ndigits，char *buf);<br/>函数说明<br/> &nbsp; &nbsp; gcvt()用来将参数number转换成ASCII码字符串，参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于，gcvt()所转换后的字符串包含小数点或正负符号。若转换成功，转换后的字符串会放在参数buf指针所指的空间。<br/>返回值<br/> &nbsp; &nbsp; 返回一字符串指针，此地址即为buf指针。<br/>附加说明<br/> &nbsp; &nbsp; <br/>范例<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>main()<br/>{<br/>double a=123.45;<br/>double b=-1234.56;<br/>char *ptr;<br/>int decpt,sign;<br/>gcvt(a,5,ptr);<br/>printf(“a value=%s ”,ptr);<br/>ptr=gcvt(b,6,ptr);<br/>printf(“b value=%s ”,ptr);<br/>}<br/>执行<br/> &nbsp; &nbsp; a value=123.45<br/>b value=-1234.56<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>strtod（将字符串转换成浮点数）<br/>相关函数<br/> &nbsp; &nbsp; atoi，atol，strtod，strtol，strtoul<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; double strtod(const char *nptr,char **endptr);<br/>函数说明<br/> &nbsp; &nbsp; strtod()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，到出现非数字或字符串结束时(&#039;&#039;)才结束转换，并将结果返回。若endptr不为NULL，则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的浮点型数。<br/>附加说明<br/> &nbsp; &nbsp; 参考atof()。<br/>范例<br/> &nbsp; &nbsp; /*将字符串a，b，c 分别采用10，2，16 进制转换成数字*/<br/>#include&lt;stdlib.h&gt;<br/>mian()<br/>{<br/>char a[]=”1000000000”;<br/>char b[]=”1000000000”;<br/>char c[]=”ffff”;<br/>printf(“a=%d ”,strtod(a,NULL,10));<br/>printf(“b=%d ”,strtod(b,NULL,2));<br/>printf(“c=%d ”,strtod(c,NULL,16));<br/>}<br/>执行<br/> &nbsp; &nbsp; a=1000000000<br/>b=512<br/>c=65535<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>strtol（将字符串转换成长整型数）<br/>相关函数<br/> &nbsp; &nbsp; atof，atoi，atol，strtod，strtoul<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; long int strtol(const char *nptr,char **endptr,int base);<br/>函数说明<br/> &nbsp; &nbsp; strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36，或0。参数base代表采用的进制方式，如 base值为10则采用10进制，若base值为16则采用16进制等。当base值为0时则是采用10进制做转换，但遇到如&#039;0x&#039;前置字符则会使用 16进制做转换。一开始strtol()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，再遇到非数字或字符串结束时(&#039;&#039;)结束转换，并将结果返回。若参数endptr不为NULL，则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的长整型数，否则返回ERANGE并将错误代码存入errno中。<br/>附加说明<br/> &nbsp; &nbsp; ERANGE指定的转换字符串超出合法范围。<br/>范例<br/> &nbsp; &nbsp; /* 将字符串a，b，c 分别采用10，2，16进制转换成数字*/<br/>#include&lt;stdlib.h&gt;<br/>main()<br/>{<br/>char a[]=”1000000000”;<br/>char b[]=”1000000000”;<br/>char c[]=”ffff”;<br/>printf(“a=%d ”,strtol(a,NULL,10));<br/>printf(“b=%d ”,strtol(b,NULL,2));<br/>printf(“c=%d ”,strtol(c,NULL,16));<br/>}<br/>执行<br/> &nbsp; &nbsp; a=1000000000<br/>b=512<br/>c=65535<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>strtoul（将字符串转换成无符号长整型数）<br/>相关函数<br/> &nbsp; &nbsp; atof，atoi，atol，strtod，strtol<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; unsigned long int strtoul(const char *nptr,char **endptr,int base);<br/>函数说明<br/> &nbsp; &nbsp; strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36，或0。参数base代表采用的进制方式，如base值为10则采用10进制，若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换，但遇到如&#039;0x&#039;前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串，跳过前面的空格字符串，直到遇上数字或正负符号才开始做转换，再遇到非数字或字符串结束时(&#039;&#039;)结束转换，并将结果返回。若参数endptr不为NULL，则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的长整型数，否则返回ERANGE并将错误代码存入errno中。<br/>附加说明<br/> &nbsp; &nbsp; ERANGE指定的转换字符串超出合法范围。<br/>范例<br/> &nbsp; &nbsp; 参考strtol()<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>toascii（将整型数转换成合法的ASCII 码字符）<br/>相关函数<br/> &nbsp; &nbsp; isascii，toupper，tolower<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;ctype.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; int toascii(int c)<br/>函数说明<br/> &nbsp; &nbsp; toascii()会将参数c转换成7位的unsigned char值，第八位则会被清除，此字符即会被转成ASCII码字符。<br/>返回值<br/> &nbsp; &nbsp; 将转换成功的ASCII码字符值返回。<br/>范例<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>main()<br/>{<br/>int a=217;<br/>char b;<br/>printf(“before toascii () : a value =%d(%c) ”,a,a);<br/>b=toascii(a);<br/>printf(“after toascii() : a value =%d(%c) ”,b,b);<br/>}<br/>执行<br/> &nbsp; &nbsp; before toascii() : a value =217()<br/>after toascii() : a value =89(Y)<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>tolower（将大写字母转换成小写字母）<br/>相关函数<br/> &nbsp; &nbsp; isalpha，toupper<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;stdlib.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; int tolower(int c);<br/>函数说明<br/> &nbsp; &nbsp; 若参数c为大写字母则将该对应的小写字母返回。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的小写字母，若不须转换则将参数c值返回。<br/>附加说明<br/> &nbsp; &nbsp; <br/>范例<br/> &nbsp; &nbsp; /* 将s字符串内的大写字母转换成小写字母*/<br/>#include&lt;ctype.h&gt;<br/>main()<br/>{<br/>char s[]=”aBcDeFgH12345;!#$”;<br/>int i;<br/>printf(“before tolower() : %s ”,s);<br/>for(i=0;I&lt;sizeof(s);i++)<br/>s=tolower(s);<br/>printf(“after tolower() : %s ”,s);<br/>}<br/>执行<br/> &nbsp; &nbsp; before tolower() : aBcDeFgH12345;!#$<br/>after tolower() : abcdefgh12345;!#$<br/>　<br/><br/><br/> &nbsp; &nbsp; <br/>toupper（将小写字母转换成大写字母）<br/>相关函数<br/> &nbsp; &nbsp; isalpha，tolower<br/>表头文件<br/> &nbsp; &nbsp; #include&lt;ctype.h&gt;<br/>定义函数<br/> &nbsp; &nbsp; int toupper(int c);<br/>函数说明<br/> &nbsp; &nbsp; 若参数c为小写字母则将该对映的大写字母返回。<br/>返回值<br/> &nbsp; &nbsp; 返回转换后的大写字母，若不须转换则将参数c值返回。<br/>附加说明<br/> &nbsp; &nbsp; <br/>范例<br/> &nbsp; &nbsp; /* 将s字符串内的小写字母转换成大写字母*/<br/>#include&lt;ctype.h&gt;<br/>main()<br/>{<br/>char s[]=”aBcDeFgH12345;!#$”;<br/>int i;<br/>printf(“before toupper() : %s ”,s);<br/>for(i=0;I&lt;sizeof(s);i++)<br/>s=toupper(s);<br/>printf(“after toupper() : %s ”,s);<br/>}<br/>执行<br/> &nbsp; &nbsp; before toupper() : aBcDeFgH12345;!#$<br/>after toupper() : ABCDEFGH12345;!#$<br/><br/><br/>atof（将字符串转换成浮点型数） &nbsp;<br/>相关函数 &nbsp;atoi，atol，strtod，strtol，strtoul<br/> <br/>表头文件 &nbsp;#include &lt;stdlib.h&gt;<br/> <br/>定义函数 &nbsp;double atof(const char *nptr);<br/> <br/>函数说明 &nbsp;atof()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(&#039;&#92;0&#039;)才结束转换，并将结果返回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分，如123.456或123e-2。<br/> <br/>返回值 &nbsp;返回转换后的浮点型数。<br/> <br/>附加说明 &nbsp;atof()与使用strtod(nptr,(char**)NULL)结果相同。 <br/><br/>atoi（将字符串转换成整型数） &nbsp;<br/>相关函数 &nbsp;atof，atol，atrtod，strtol，strtoul<br/> <br/>表头文件 &nbsp;#include&lt;stdlib.h&gt;<br/> <br/>定义函数 &nbsp;int atoi(const char *nptr);<br/> <br/>函数说明 &nbsp;atoi()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(&#039;&#92;0&#039;)才结束转换，并将结果返回。<br/> <br/>返回值 &nbsp;返回转换后的整型数。<br/> <br/>附加说明 &nbsp;atoi()与使用strtol(nptr，(char**)NULL，10)；结果相同。<br/><br/>atol（将字符串转换成长整型数） &nbsp;<br/>相关函数 &nbsp;atof，atoi，strtod，strtol，strtoul<br/> <br/>表头文件 &nbsp;#include&lt;stdlib.h&gt;<br/> <br/>定义函数 &nbsp;long atol(const char *nptr);<br/> <br/>函数说明 &nbsp;atol()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，而再遇到非数字或字符串结束时(&#039;&#92;0&#039;)才结束转换，并将结果返回。<br/> <br/>返回值 &nbsp;返回转换后的长整型数。<br/> <br/>附加说明 &nbsp;atol()与使用strtol(nptr,(char**)NULL,10)；结果相同。 <br/><br/>gcvt（将浮点型数转换为字符串，取四舍五入） &nbsp;<br/>相关函数 &nbsp;ecvt，fcvt，sprintf<br/> <br/>表头文件 &nbsp;#include&lt;stdlib.h&gt;<br/> <br/>定义函数 &nbsp;char *gcvt(double number，size_t ndigits，char *buf);<br/> <br/>函数说明 &nbsp;gcvt()用来将参数number转换成ASCII码字符串，参数ndigits表示显示的位数。gcvt()与ecvt()和fcvt()不同的地方在于，gcvt()所转换后的字符串包含小数点或正负符号。若转换成功，转换后的字符串会放在参数buf指针所指的空间。<br/> <br/>返回值 &nbsp;返回一字符串指针，此地址即为buf指针。 <br/><br/>strtod（将字符串转换成浮点数） &nbsp;<br/>相关函数 &nbsp;atoi，atol，strtod，strtol，strtoul<br/> <br/>表头文件 &nbsp;#include&lt;stdlib.h&gt;<br/> <br/>定义函数 &nbsp;double strtod(const char *nptr,char **endptr);<br/> <br/>函数说明 &nbsp;strtod()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，到出现非数字或字符串结束时(&#039;&#92;0&#039;)才结束转换，并将结果返回。若endptr不为NULL，则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。<br/> <br/>返回值 &nbsp;返回转换后的浮点型数。<br/> <br/>strtol（将字符串转换成长整型数） &nbsp;<br/>相关函数 &nbsp;atof，atoi，atol，strtod，strtoul<br/> <br/>表头文件 &nbsp;#include&lt;stdlib.h&gt;<br/> <br/>定义函数 &nbsp;long int strtol(const char *nptr,char **endptr,int base);<br/> <br/>函数说明 &nbsp;strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2至36，或0。参数base代表采用的进制方式，如base值为10则采用10进制，若base值为16则采用16进制等。当base值为0时则是采用10进制做转换，但遇到如&#039;0x&#039;前置字符则会使用16进制做转换。一开始strtol()会扫描参数nptr字符串，跳过前面的空格字符，直到遇上数字或正负符号才开始做转换，再遇到非数字或字符串结束时(&#039;&#92;0&#039;)结束转换，并将结果返回。若参数endptr不为NULL，则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。<br/> <br/>返回值 &nbsp;返回转换后的长整型数，否则返回ERANGE并将错误代码存入errno中。<br/> <br/>附加说明 &nbsp;ERANGE指定的转换字符串超出合法范围。 <br/><br/>strtoul（将字符串转换成无符号长整型数） &nbsp;<br/>相关函数 &nbsp;atof，atoi，atol，strtod，strtol<br/> <br/>表头文件 &nbsp;#include&lt;stdlib.h&gt;<br/> <br/>定义函数 &nbsp;unsigned long int strtoul(const char *nptr,char **endptr,int base);<br/> <br/>函数说明 &nbsp;strtoul()会将参数nptr字符串根据参数base来转换成无符号的长整型数。参数base范围从2至36，或0。参数base代表采用的进制方式，如base值为10则采用10进制，若base值为16则采用16进制数等。当base值为0时则是采用10进制做转换，但遇到如&#039;0x&#039;前置字符则会使用16进制做转换。一开始strtoul()会扫描参数nptr字符串，跳过前面的空格字符串，直到遇上数字或正负符号才开始做转换，再遇到非数字或字符串结束时(&#039;&#92;0&#039;)结束转换，并将结果返回。若参数endptr不为NULL，则会将遇到不合条件而终止的nptr中的字符指针由endptr返回。<br/> <br/>返回值 &nbsp;返回转换后的长整型数，否则返回ERANGE并将错误代码存入errno中。<br/> <br/>附加说明 &nbsp;ERANGE指定的转换字符串超出合法范围。 <br/><br/>toascii（将整型数转换成合法的ASCII 码字符） &nbsp;<br/>相关函数 &nbsp;isascii，toupper，tolower<br/> <br/>表头文件 &nbsp;#include&lt;ctype.h&gt;<br/> <br/>定义函数 &nbsp;int toascii(int c)<br/> <br/>函数说明 &nbsp;toascii()会将参数c转换成7位的unsigned char值，第八位则会被清除，此字符即会被转成ASCII码字符。<br/> <br/>返回值 &nbsp;将转换成功的ASCII码字符值返回。<br/><br/>
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] C++中字符串与整型浮点型间的转换]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>