c语言中的转换字符串为整数的函数

时间:2023-01-07 15:24:54

一,atoi()函数——将字符串str转换成一个整数

1、atoi函数把字符串转换成整型数。其含义是ASCII to integer 的缩写。

2、函数说明
1)简介编辑C语言库函数名
atoi
原型:
int atoi(const char *nptr);
UNICODE
_wtoi()
2)函数说明编辑参数nptr字符串,如果第一个非空格字符存在,是数字或者正负号则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。否则,返回零,
所需包含头文件: #include

程序实例(1)

#include <stdlib.h>
#include <stdio.h>
int main(void)
{
  float n;
  char *str = "12345.67";
  n = atoi(str);
  printf("string = %s integer = %f\n", str, n);
  return 0;
}

输出:

string = 12345.67 integer = 12345.000000

程序实例(2)

#include <stdlib.h>
#include <stdio.h>
int main()
{
  char a[] = "-100" ;
  char b[] = "123" ;
  int c ;
  c = atoi( a ) + atoi( b ) ;
  printf("c = %d\n", c) ;
  return 0;
}

输出:

c = 23

二,atof()函数——将字符串str转换成一个双精度数值

语法:

#include <stdlib.h>
  double atof( const char *str );

功能:
将字符串str转换成一个双精度数值并返回结果。 参数str 必须以有效数字开头,但是允许以“E”或“e”除外的任意非数字字符结尾。

实例:

   x = atof( "42.0is_the_answer" );

输出:

 x=42.0

atol()函数——将字符串转换成长整型数

语法:

 #include <stdlib.h>
  long atol( const char *str );

功能:
将字符串转换成长整型数并返回结果。函数会扫描参数str字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时才结束转换,并将结果返回。

实例:

  x = atol( "1024.0001" );

输出:

 x=1024L