将字符串转换成整型数
相关函数atof,atol,atrtod,strtol,strtoul
表头文件 #include <stdlib.h> 定义函数 int atoi(const char *nptr); 函数说明atoi()会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(' ')才结束转换,并将结果返回。
返回值返回转换后的整型数。
附加说明atoi()与使用strtol(nptr,(char**)NULL,10);结果相同。
zjdqz /* 将字符串a 与字符串b转换成数字后相加*/#include <stdlib.h>#include <stdio.h>int main(){ char a[] = "-100"; char b[] = "456"; int c; c = atoi(a) + atoi(b); printf("a = %dn",atoi(a)); printf("b = %dn",atoi(b)); printf("c = %dn",c);} 执行 a = -100b = 456c = 356 man ATOI(3) Linux Programmer's Manual ATOI(3)NAME atoi, atol, atoll - convert a string to an integerSYNOPSIS #include <stdlib.h> int atoi(const char *nptr); long atol(const char *nptr); long long atoll(const char *nptr); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): atoll(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L; or cc -std=c99DESCRIPTION The atoi() function converts the initial portion of the string pointed to by nptr to int. The behav‐ ior is the same as strtol(nptr, NULL, 10); except that atoi() does not detect errors. The atol() and atoll() functions behave the same as atoi(), except that they convert the initial por‐ tion of the string to their return type of long or long long.RETURN VALUE The converted value.ATTRIBUTES For an explanation of the terms used in this section, see attributes(7). ┌────────────────────────┬───────────────┬────────────────┐ │Interface │ Attribute │ Value │ ├────────────────────────┼───────────────┼────────────────┤ │atoi(), atol(), atoll() │ Thread safety │ MT-Safe locale │ └────────────────────────┴───────────────┴────────────────┘CONFORMING TO POSIX.1-2001, POSIX.1-2008, C99, SVr4, 4.3BSD. C89 and POSIX.1-1996 include the functions atoi() and atol() only.NOTES Linux libc provided atoq() as an obsolete name for atoll(); atoq() is not provided by glibc.SEE ALSO atof(3), strtod(3), strtol(3), strtoul(3)COLOPHON This page is part of release 4.04 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/.GNU 2015-08-08 ATOI(3)