C语言库函数名
- 格式:doc
- 大小:59.50 KB
- 文档页数:5
C语言库函数名: atoi
功能: 把字符串转换成整型数.
名字来源:array to integer 的缩写.
原型: int atoi(const char *nptr);
函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字或结束符\0 时停止转换,返回整型数。
头文件: #include
putchar
函数名: putchar
功能: 在stdout上输出字符
用法: int putchar(int ch);
strtod
strtod(将字符串转换成浮点数)
相关函数
atoi,atol,strtod,strtol,strtoul
表头文件
#include
定义函数
double strtod(const char *nptr,char **endptr);
函数说明
strtod()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,到出现非数字或字符串结束时('\0')才结束转换,并将结果返回。若endptr不为NULL,则会将遇到不合条件而终止的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、小数点或E(e)来表示指数部分。如123.456或123e-2。
返回值
返回转换后的浮点型数。
附加说明
参考atof()。
范例
#include
main()
{
char *endptr;
char a[]="12345.6789";
char b[]="1234.567qwer";
char c[]="-232.23e4";
printf("a=%lf\n",strtod(a,NULL));
printf("b=%lf\n",strtod(b,&endptr));
printf("endptr=%s\n",endptr);
printf("c=%lf\n",strtod(c,NULL));
}
执行
a=12345.678900
b=1234.567000
endptr=qwer
c=-2322300.000000
linux c function()中关于strtod的范例有误
atol
函数名: atol
功能: 把字符串转换成长整型数
用法: long atol(const char *nptr);
程序例:
#include
#include
int main(void)
{
long l;
char *str = "98765432";
l = atol(str); /* 原来为l = atol(str); */
printf("string = %s integer = %ld\n", str, l);
return(0);
}
atol(将字符串转换成长整型数)
相关函数: atof,atoi,strtod,strtol,strtoul 表头文件: #include
定义函数: long atol(const char *nptr);
函数说明: atol()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时('\0')才结束转换,并将结果返回。
返回值:返回转换后的长整型数。如果传入的字符串为空,或者字符串包含的内容非阿拉伯数字序列,则函数返回默认值0。
附加说明:atol()与使用strtol(nptr,(char**)NULL,10);结果相同。
范例/*将字符串a与字符串b转换成数字后相加*/
#include
main()
{
char a[]=”1000000000”;
char b[]=” 234567890”;
long c;
c=atol(a)+atol(b);
printf(“c=%d\n”,c);
}
atoi 十进制,十六进制,
算法2011-03-05 12:09:53 阅读54 评论0 字号:大中小订阅
atoi(char *str)将字符串转换成整数收藏
原作者的算法很巧妙,直接从高位开始乘加即可,不用考虑字符串的长度
当然也可以利用strlen或找结束字符的方式寻找最低位,乘数变化即可,感兴趣的朋友可以试试,不过没有原来的方法好,呵呵,面试我就直接借鉴原作者的算法了,先行谢过啊
题目:请编写一个C 函数,该函数将给定的一个字符串转换成整数。
(面试时如果时间紧张,不能对过多的限制条件一一考虑,则注明本程序的限制条件,这能说明你考虑问题比较全面,即使你没有具体实现,相信面试官会认为你已经实现了)
下面的程序仅仅是考虑十进制字符串(不考虑非法字符的问题)。
int StrToInt(char * str)
{
int value = 0;
int sign = 1;
if(*str == '-')
{
sign = -1;
str++;
}