c字符串转换函数atoi、atof、atol

c开发中会常会借用一些函数来完成数字到字符串、字符串到数字的转换功能,下面列举几个常用到的字符串转换函数:

1. atof
 函数原型: double atof(const char *nptr)
 头文件:#include<stdlib.h>
 函数说明:atof()函数会扫描参数nptr字符串,跳过前面的空格
 字符,直到遇上数字或正负符才开始做转换,而再次遇到非数字或字
 符串结束('\0')的时候才结束转换,并将结果返回。参数nptr字符
 串可以包含正负号、小数点或E(e)来表示的指数部分,
如:23.45/123e-2;
函数传入值:nptr:浮点型指针
函数返回值:返回转换后的浮点型数

2.atoi
函数原型: int atoi(const char *nptr)
头文件:#include<stdlib.h>
函数说明:atoi()会扫描参数nptr字符串,跳过前面的空格字符,
直到遇上数字或正负号才开始做转换,而再遇到非数字或字符串结
束('\0')时候才结束转换,并将结果返回;
函数传入值:短整型指针
函数返回值:返回转换后的整型数

3.atol
函数原型: long atol(const char *nptr)
头文件: #include<stdlib.h>
函数说明:atol()会扫描参数nptr字符串,跳过前面的空格字符,
直到遇到数字或正负符号才开始做转换,而再遇到非数字或字符串结
束符('\0')时才结束转换,并将结果返回
函数传入值:nptr:长整形指针
函数返回值:返回转换后的长整型数

#include
#include
#include

int main()
{
	char str[] = "-200";
	char buf[] = "2000000";
	char *arr = "-100.25";

	int a;
	long b;
	double c;
	a = atoi(str);
	b = atol(buf);
	c = atof(arr);
	printf("a = %d\nb = %ld\nc = %.2f\n", a, b, c);
	system("pause");
	return 0;
}

结果:
a = -200
b = 2000000
c = -100.25

你可能感兴趣的:(C语言)