atoi()
C標準の一部ですか?
char*
標準化されていない場合、何に変換int
すればよいatoi()
ですか?
はい、atoi()
標準 C の一部です。残念ながら。
エラーチェックを行わないため、「残念ながら」と言います。0 が返された場合、それが渡されたからなのか、それとも渡されたからなのか"0"
わかりません"hello, world\n"
(動作が未定義の可能性がありますが、通常は 0 を返します) 。
このstrtol()
関数の使い方はより複雑ですが、適切なエラー チェックを行います。結果が返され、long
変換できる結果が返さint
れINT_MIN
ますINT_MAX
。
参照: N1570 7.22.1.2。
これはC 標準ライブラリの一部であり、以下で宣言する必要がありますstdlib.h
はい、標準です。からman atoi
:
名前 atoi, atoi_l -- ASCII 文字列を整数に変換する
LIBRARY 標準 C ライブラリ (libc、-lc)
#include <stdlib.h>
ただし、次のようにも述べています。
atoi() 関数は strtol() によって廃止されたため、新しいコードでは使用しないでください。
atoi
は現在の C 標準のstrtol
一部ですが、標準の一部でもあり、より堅牢なインターフェイスを備えているものを検討してください。