函式
<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` 可表示的範圍,則會導致 *未定義行為*。

另見