资源描述:
《C语言库函数名》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、c语言库函数名:atoi功能:把字符串转换成整型数.名字来源:arraytointeger的缩写.原型:intatoi(constchar*nptr);函数说明:参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字或结束符 时停止转换,返回整型数。头文件:#includeputchar函数名:putchar功能:在stdout±输岀字符用法:intputchar(intch);strtodstrtod(将字符串转换成浮点数)相关函数atoi,atol,strtod,s
2、trtol,stTtoul表头文件#include〈stdlib.h>定义函数doublestrtod(constchar*nptr,char**cndptr);函数说明strtod()会扫描参数nptr字符串,跳过前而的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时(’ ‘)才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。返回值返回转换后的浮点型数。附加说明
3、参考atof()o范例#includcmain(){char*enclptr;chara□二〃12345.6789〃;charb[]=z,1234.567qwcr,z;charc□二〃-232.23c4〃;printfC,a=%lfz,,strtod(a,NULL));printf(〃b=%lfstrtod(b,&cndptr));printf(〃cndptr=%s",endptr);printf(,,c=%lfz,,strtod(c,NULL));}执行a二12345.678900b=1234.567000endptr
4、二qwerc=-2322300.000000linuxcfunction()中关于strtod的范例有误atol函数名:atol功能:把字符串转换成长整型数用法:longatol(constchar*nptr);程序例:#includettincludeintmain(void){long1;char*str二〃98765432〃;1二atol(str);/*原来为1二atol(str);*/printf(/zstring=%sinteger二%ld〃,str,1);return(0);}atol(将字符串转换
5、成长整型数)相关函数:atof,atoi,strtod,strtol,strtoul表头文件:#include定义函数:longato1(constchar*nptr);函数说明:atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(' ')才结束转换,并将结果返回。返回值:返回转换后的长整型数。如果传入的字符串为空,或者字符串包含的内容非阿拉伯数字序列,则函数返回默认值Oo附加说明:atol()与使用strtol(nptr,(char**)NULL,10);结
6、果相同。范例/*将字符串a与字符串b转换成数字后相加*/#includcmain(){chara□二”1000000000”;charb□二”234567890”;longc;c=atol(a)+a.tol(b);printf("c=%d”,c);atoi十进制,十六进制,算法2011-03-0512:09:53阅读54评论0字号:人中小订阅转atoi(char*str)将字符串转换成整数收藏原作者的算法很巧妙,直接从高位开始乘加即可,不用考虑字符串的长度当然也可以利用strlen或找结朿字符的方式寻找最低位,乘数变化即可,感兴
7、趣的朋友可以试试,不过没有原来的方法好,呵呵,面试我就直接借鉴原作者的算法了,先行谢过啊题目:请编写一个C函数,该函数将给定的一个字符串转换成整数。(面试时如果时间紧张,不能对过多的限制条件一一考虑,则注明本程序的限制条件,这能说明你考虑问题比较全面,即使你没有具体实现,相信面试官会认为你已经实现了)下面的程序仅仅是考虑十进制字符串(不考虑非法字符的问题)。intStrTolnt(char*str){intvalue=0;intsign=1;if(*str=='」){sign=-1;str++;}while(*str)value=value*104-*
8、str「O';//此法很巧妙,直接从高位开始乘加即可,不用考虑字符串的长度str++;}ret