atoi() — 文字ストリングから整数への変換

フォーマット

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

言語レベル: ANSI

スレッド・セーフ: はい。

ロケール依存: この関数の振る舞いは、 現行ロケールの LC_CTYPE カテゴリーの影響を受ける可能性があります。 詳細については、CCSID およびロケールの理解を参照してください。

説明

atoi() 関数は、文字ストリングを整数値に変換します。入力データ string は、指定した戻りの型の数値として解釈できる文字のシーケンスです。 関数によって、数値の一部として認識できない入力ストリングは、先頭文字 のところで読み取りが停止されます。この文字は、ストリングを終了するヌル文字が可能です。

atoi() 関数は、小数点または指数を認識しません。この関数の string 引数の形式は次のとおりです。

構文図を読む構文図をスキップする>>-+------------+--+----+--digits------------------------------><
   '-whitespace-'  +-+--+
                   '- --'
 

ここで、whitespace は、複数のスペースやタブなどの、isspace() 関数に対して true である同じ文字で構成されます。atoi() 関数は、最初の空白文字を無視します。 値 digits は、1 桁以上の小数桁数です。

戻り値

atoi() 関数は、入力文字を数字として解釈することにより作成される int 値を戻します。 関数が入力データをその型の値に変換できない場合は、戻り値は 0 です。 オーバーフローの場合、戻り値は予期できません。

atoi() の使用例

この例は、ストリングとして格納された数を、数値に変換する方法を示しています。

#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
*/

関連情報



[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]