atoi ()- 將字串轉換成整數

格式

#include <stdlib.h>
int atoi(const char *string);

語言層次

ANSI

安全執行緒

區分語言環境

此函數的行為可能受現行語言環境的 LC_CTYPE 種類影響。 如需相關資訊,請參閱 瞭解 CCSID 及語言環境

說明

atoi() 函數會將字串轉換為整數值。 輸入 string 是一連串字元,可解譯為指定傳回類型的數值。 此函數會在無法辨識為數字一部分的第一個字元處停止讀取輸入字串。 此字元可以是字串結尾的空值字元。

atoi() 函數無法辨識小數點或指數。 此函數的 string 引數格式如下:

讀取語法圖跳過視覺化語法圖空格+-數字

其中 whitespaceisspace() 函數為 true 的相同字元 (例如空格和定位點) 組成。 atoi() 函數會忽略前導空格字元。 值 digits 代表一或多個小數位數。

回覆值

atoi() 函數會傳回透過將輸入字元解譯為數字所產生的 int 值。 如果函數無法將輸入轉換為該類型的值,則回覆值為 0 。 在溢位的情況下,未定義回覆值。

範例

此範例顯示如何將儲存為字串的數字轉換為數值。
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
{
    int i;
    char *s;
 
    s = " -9885";
    i = atoi(s);     /* i = -9885 */
 
    printf("i = %d\n",i);
}
 
/*******************  Output should be similar to:  ***************
 
i = -9885
*/

相關資訊