(Translated by https://www.hiragana.jp/)
atoi - Wikipedia

atoi

標準ひょうじゅんCライブラリの関数かんすう

atoi (ASCII to Integer) は、文字もじれつ整数せいすうがた変換へんかんするC言語げんご標準ひょうじゅんCライブラリ関数かんすう標準ひょうじゅんヘッダーファイル <stdlib.h>宣言せんげんされている。かた規格きかくではとくさだめられていない。

概要がいよう

編集へんしゅう

引数ひきすうあたえられた文字もじれつ解析かいせきし、文字もじれつ先頭せんとう連続れんぞくする10進数しんすう整数せいすう部分ぶぶんintかた整数せいすう変換へんかんする。たとえば、引数ひきすう"123abc"あたえるともどとして123かえし、"-5"なら-5かえす。"abc"""空文字くうもじれつ)など変換へんかん不可能ふかのう文字もじれつ場合ばあい0かえす。

変換へんかんされたのち数値すうちint範囲はんいおさまらない(結果けっかint表現ひょうげんできない)場合ばあいC99C11仕様しようじょう未定義みていぎ動作どうさ (undefined behavior) をこす[1][2][注釈ちゅうしゃく 1]。また、変換へんかん失敗しっぱいしてもerrnoえないかもしれない。このため、atoi使用しよう禁止きんししているガイドラインも存在そんざいする[3]

正常せいじょう変換へんかん可能かのう文字もじれつ場合ばあい(int)strtol(s, NULL, 10)おな結果けっかかえす。

形式けいしき

編集へんしゅう
#include <stdlib.h>
int atoi(const char *nptr);

脚注きゃくちゅう

編集へんしゅう

注釈ちゅうしゃく

編集へんしゅう
  1. ^ strtolかんしては、変換へんかんされたのちただしいlong範囲はんいおさまらない場合ばあいせい符号ふごうのときはLONG_MAXを、まけ符号ふごうのときはLONG_MINかえすと規定きていされている(算術さんじゅつオーバーフロー定義ていぎ動作どうさこさない)。一方いっぽうatoiかんしては、int範囲はんいおさまらない場合ばあいであってもINT_MAXINT_MINかえすとはかぎらない。

出典しゅってん

編集へんしゅう

関連かんれん項目こうもく

編集へんしゅう

外部がいぶリンク

編集へんしゅう