Linux C之atoi()函数


1.首先man下

ATOI(3)       Linux Programmer's Manual                   ATOI(3)

NAME

 atoi, atol,atoll, atoq - convert a string to an integer

SYNOPSIS

#include <stdlib.h>

 

int atoi(const char *nptr);

long atol(const char *nptr);

long long atoll(const char *nptr);

long long atoq(const char *nptr);

 

Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):

 atoll():_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 ||

_ISOC99_SOURCE; or cc -std=c99

DESCRIPTION

The atoi() function converts the initial portion ofthe string  pointed  to by nptr to int.  The behavior is the same as  strtol(nptr, (char **) NULL, 10);except thatatoi() does not detect errors.The atol() and atoll() functions behave the sameas atoi(), except that  they convert theinitial portion of the string to their return type  of  longor long long.  atoq() is an obsolete namefor atoll().

RETURN VALUE

The converted value.

二.atoi()函数使用

1.函数功能:

把字符串转换成整型数.

2.原型:

int atoi(const char *nptr);

3.函数说明: 参数nptr字符串,如果第一个非空格字符不存在或者不是数字也不是正负号则返回零,否则开始做类型转换,之后检测到非数字(包括结束符 \0) 字符时停止转换,返回整型数。

4.头文件: #include <stdlib.h>

5.程序例:

1>

#include <stdlib.h>

#include <stdio.h>

int  main(void)

{

  int n;

  char *str = "12345.67";

  n = atoi(str);

  printf("string = %s integer =%d\n", str, n);

  return 0;

  }

  执行结果

  string = 12345.67 integer = 12345

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

相关内容