©
This document uses PHP Chinese website manual Release
在头文件<stdlib.h>中定义 | ||
---|---|---|
int atoi(const char * str); | ||
long atol(const char * str); | ||
long long atoll(const char * str); | (自C99以来) |
解释str指向的字节字符串中的整数值。
放弃任何空格字符,直到找到第一个非空白字符,然后采用尽可能多的字符以形成有效的整数表示并将它们转换为整数值。有效的整数值由以下部分组成:
(可选)加号或减号
数字
str | - | 指向要解释的以空字符结尾的字节字符串 |
---|
整数值对应str成功的内容。 如果转换后的值超出了相应返回类型的范围,则返回值未定义。 如果不能执行转换,则返回0。
#include <stdio.h>#include <stdlib.h> int main(void){ printf("%i\n", atoi(" -123junk")); printf("%i\n", atoi("0")); printf("%i\n", atoi("junk")); // no conversion can be performed printf("%i\n", atoi("2147483648")); // UB: out of range of int}
输出:
-12300-2147483648
C11标准(ISO / IEC 9899:2011):
7.22.1.2 atoi,atol和atoll函数(p:341)
C99标准(ISO / IEC 9899:1999):
7.20.1.2 atoi,atol和atoll功能(p:307)
C89 / C90标准(ISO / IEC 9899:1990):
4.10.1.2 atoi函数
4.10.1.3 atol函数
strtolstrtoll(C99) | 将字节字符串转换为整数值(函数) |
---|---|
strtoul strtoull(C99) | 将字节字符串转换为无符号整数值(函数) |