函数
<cstdlib>

atoll

long long int atoll ( const char * str );
将字符串转换为long long整数
此函数解析C风格字符串 str,将其内容解释为整数,并以 `long long int` 类型返回。

此函数与 atol 的操作方式类似,用于解释字符串,但它生成 `long long int` 类型的值(有关解释过程的详细信息,请参阅 atol)。

参数

str
包含整数表示的 C 字符串。

返回值

成功时,该函数将转换后的整数以 `long long int` 类型值返回。
如果无法执行有效的转换,则返回零值。
如果转换后的值超出了 `long long int` 可表示的范围,则会导致 *未定义行为*。如果存在这种情况,请参阅 strtoll 以获得更健壮的跨平台替代方案。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
/* atoll example */
#include <stdio.h>      /* printf, fgets */
#include <stdlib.h>     /* atoll */

int main ()
{
  long long int lli;
  char buffer[256];
  printf ("Enter a long number: ");
  fgets (buffer, 256, stdin);
  lli = atoll(buffer);
  printf ("The value entered is %lld. Its double is %lld.\n",lli,lli*2);
  return 0;
}

输出

Enter a number: 9275806
The value entered is 9275806. Its double is 18551612.


数据竞争

访问由 str 指向的数组。

异常 (C++)

无异常保证:此函数从不抛出异常。

如果 str 不指向有效的C风格字符串,或者转换后的值超出了 `long long int` 可表示的范围,则会导致 *未定义行为*。

另见