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