成功时,函数返回转换后的整数,类型为 int。 如果转换后的值超出了 int 可表示的值的范围,将导致未定义行为。如果可能出现这种情况,请参见 strtol 以获取更健壮的跨平台替代方案。
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14
/* atoi example */
#include <stdio.h> /* printf, fgets */
#include <stdlib.h> /* atoi */
int main ()
{
int i;
char buffer[256];
printf ("Enter a number: ");
fgets (buffer, 256, stdin);
i = atoi (buffer);
printf ("The value entered is %d. Its double is %d.\n",i,i*2);
return 0;
}
输出
Enter a number: 73
The value entered is 73. Its double is 146.
数据竞争
访问由 str 指向的数组。
异常 (C++)
无异常保证:此函数从不抛出异常。
如果 str 没有指向一个有效的 C 字符串,或者转换后的值超出了 int 可表示的值的范围,将导致未定义行为。