C语言字符串转换函数

上传人:ji****72 文档编号:35937033 上传时间:2018-03-22 格式:DOC 页数:9 大小:92.50KB
返回 下载 相关 举报
C语言字符串转换函数_第1页
第1页 / 共9页
C语言字符串转换函数_第2页
第2页 / 共9页
C语言字符串转换函数_第3页
第3页 / 共9页
C语言字符串转换函数_第4页
第4页 / 共9页
C语言字符串转换函数_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《C语言字符串转换函数》由会员分享,可在线阅读,更多相关《C语言字符串转换函数(9页珍藏版)》请在金锄头文库上搜索。

1、字符串转换函数atof(将字符串转换成浮点型数)相关函数atoi,atol,strtod,strtol,strtoul表头文件#include 定义函数double atof(const char *nptr);函数说明atof()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0)才结束转换,并将结果返回。参数 nptr 字符串可包含正负号、小数点或 E(e)来表示指数部分,如123.456或123e-2。返回值返回转换后的浮点型数。附加说明atof()与使用 strtod(nptr,(char*)NULL)结果相同。范例/

2、* 将字符串 a 与字符串 b 转换成数字后相加*/#includemain()char *a=”-100.23”;char *b=”200e-2”;float c;c=atof(a)+atof(b);printf(“c=%.2fn”,c);执行c=-98.23atoi(将字符串转换成整型数)相关函数atof,atol,atrtod,strtol,strtoul表头文件#include定义函数int atoi(const char *nptr);函数说明atoi()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0)才结束转换

3、,并将结果返回。返回值返回转换后的整型数。附加说明atoi()与使用 strtol(nptr,(char*)NULL,10);结果相同。范例/* 将字符串 a 与字符串 b 转换成数字后相加*/#includemian()char a=”-100”;char b=”456”;int c;c=atoi(a)+atoi(b);printf(c=%dn”,c);执行c=356atol(将字符串转换成长整型数)相关函数atof,atoi,strtod,strtol,strtoul表头文件#include定义函数long atol(const char *nptr);函数说明atol()会扫描参数 np

4、tr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(0)才结束转换,并将结果返回。返回值返回转换后的长整型数。附加说明atol()与使用 strtol(nptr,(char*)NULL,10);结果相同。范例/*将字符串 a 与字符串 b 转换成数字后相加*/#includemain()char a=”1000000000”;char b=” 234567890”;long c;c=atol(a)+atol(b);printf(“c=%dn”,c);执行c=1234567890gcvt(将浮点型数转换为字符串,取四舍五入)相关函数ecvt,fcv

5、t,sprintf表头文件#include定义函数char *gcvt(double number,size_t ndigits,char *buf);函数说明gcvt()用来将参数 number 转换成 ASCII 码字符串,参数 ndigits 表示显示的位数。gcvt()与ecvt()和 fcvt()不同的地方在于,gcvt()所转换后的字符串包含小数点或正负符号。若转换成功,转换后的字符串会放在参数 buf 指针所指的空间。返回值返回一字符串指针,此地址即为 buf 指针。附加说明范例#includemain()double a=123.45;double b=-1234.56;cha

6、r *ptr;int decpt,sign;gcvt(a,5,ptr);printf(“a value=%sn”,ptr);ptr=gcvt(b,6,ptr);printf(“b value=%sn”,ptr);执行a value=123.45b value=-1234.56strtod(将字符串转换成浮点数)相关函数atoi,atol,strtod,strtol,strtoul表头文件#include定义函数double strtod(const char *nptr,char *endptr);函数说明strtod()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号

7、才开始做转换,到出现非数字或字符串结束时(0)才结束转换,并将结果返回。若 endptr 不为NULL,则会将遇到不合条件而终止的 nptr 中的字符指针由 endptr 传回。参数 nptr 字符串可包含正负号、小数点或 E(e)来表示指数部分。如123.456或123e-2。返回值返回转换后的浮点型数。附加说明参考 atof()。范例/*将字符串 a,b,c 分别采用10,2,16 进制转换成数字*/#includemian()char a=”1000000000”;char b=”1000000000”;char c=”ffff”;printf(“a=%dn”,strtod(a,NULL

8、,10);printf(“b=%dn”,strtod(b,NULL,2);printf(“c=%dn”,strtod(c,NULL,16);执行a=1000000000b=512c=65535strtol(将字符串转换成长整型数)相关函数atof,atoi,atol,strtod,strtoul表头文件#include定义函数long int strtol(const char *nptr,char *endptr,int base);函数说明strtol()会将参数 nptr 字符串根据参数 base来转换成长整型数。参数 base 范围从2至36,或0。参数 base 代表采用的进制方式,

9、如 base值为10则采用10进制,若 base 值为16则采用16进制等。当 base 值为0时则是采用10进制做转换,但遇到如0x前置字符则会使用16进制做转换。一开始 strtol()会扫描参数 nptr 字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(0)结束转换,并将结果返回。若参数 endptr 不为 NULL,则会将遇到不合条件而终止的 nptr 中的字符指针由 endptr 返回。返回值返回转换后的长整型数,否则返回 ERANGE 并将错误代码存入 errno 中。附加说明ERANGE 指定的转换字符串超出合法范围。范例/* 将字符串

10、 a,b,c 分别采用10,2,16进制转换成数字*/#includemain()char a=”1000000000”;char b=”1000000000”;char c=”ffff”;printf(“a=%dn”,strtol(a,NULL,10);printf(“b=%dn”,strtol(b,NULL,2);printf(“c=%dn”,strtol(c,NULL,16);执行a=1000000000b=512c=65535strtoul(将字符串转换成无符号长整型数)相关函数atof,atoi,atol,strtod,strtol表头文件#include定义函数unsigned l

11、ong int strtoul(const char *nptr,char *endptr,int base);函数说明strtoul()会将参数 nptr 字符串根据参数 base来转换成无符号的长整型数。参数 base 范围从2至36,或0。参数 base 代表采用的进制方式,如 base 值为10则采用10进制,若 base 值为16则采用16进制数等。当 base 值为0时则是采用10进制做转换,但遇到如0x前置字符则会使用16进制做转换。一开始 strtoul()会扫描参数 nptr 字符串,跳过前面的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到非数字或字符串结束时(0)结

12、束转换,并将结果返回。若参数 endptr 不为 NULL,则会将遇到不合条件而终止的 nptr 中的字符指针由endptr 返回。返回值返回转换后的长整型数,否则返回 ERANGE 并将错误代码存入 errno 中。附加说明ERANGE 指定的转换字符串超出合法范围。范例参考 strtol()toascii(将整型数转换成合法的 ASCII 码字符)相关函数isascii,toupper,tolower表头文件#include定义函数int toascii(int c)函数说明toascii()会将参数 c 转换成7位的 unsigned char 值,第八位则会被清除,此字符即会被转成 A

13、SCII 码字符。返回值将转换成功的 ASCII 码字符值返回。范例#includemain()int a=217;char b;printf(“before toascii () : a value =%d(%c)n”,a,a);b=toascii(a);printf(“after toascii() : a value =%d(%c)n”,b,b);执行before toascii() : a value =217()after toascii() : a value =89(Y)tolower(将大写字母转换成小写字母)相关函数isalpha,toupper表头文件#include定义函

14、数int tolower(int c);函数说明若参数 c 为大写字母则将该对应的小写字母返回。返回值返回转换后的小写字母,若不须转换则将参数c 值返回。附加说明范例/* 将 s 字符串内的大写字母转换成小写字母*/#includemain()char s=”aBcDeFgH12345;!#$”;int i;printf(“before tolower() : %sn”,s);for(i=0;I定义函数int toupper(int c);函数说明若参数 c 为小写字母则将该对映的大写字母返回。返回值返回转换后的大写字母,若不须转换则将参数c 值返回。附加说明范例/* 将 s 字符串内的小写字母转换成大写字母*/#includemain()char s=”aBcDeFgH12345;!#$”;int i;printf(“before toupper() : %sn”,s);for(i=0;Isizeof(s);i+)si=toupper(si);printf(“after toupper() : %sn”,s);执行before toupper() : aBcDeFgH12345;!#$after toupper() : ABCDEFGH12345;!#$

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号