itoa
表示
itoa (Integer to ASCII) は、整数型の値を文字列に変換するC言語の非標準ライブラリ関数。POSIX標準でもなく、glibc や BSD libc など大半の標準Cライブラリでは利用不可。Microsoft Visual C++では_itoa
が用意されている[1]。実装されている場合は標準ヘッダーファイル<stdlib.h>
において宣言されていることが多い。
第1引数に与えられたint
型の整数値を、第3引数に指定した基数表記でヌル終端文字列に変換し、第2引数に指定したchar
へのポインタが指す配列(バッファ)に書き込む。戻り値は、第2引数に渡されたポインタそのものを返す。基数に無効な値が指定されて変換が失敗した場合はNULL
(ヌルポインタ)を返す実装もある。
例えば、第1引数に100
、第2引数に十分なサイズの文字配列、第3引数に16
を指定すると、文字配列は"64"
となる。
移植性がないこと、またバッファオーバーラン(バッファオーバーフロー)耐性がないことから、一般的には使用しないことが推奨されている。標準Cライブラリでは、printfファミリーのsprintf
や、C99で標準化されたsnprintf
などが代替の候補に挙げられる。
形式
[編集]#include <stdlib.h>
char *itoa(int value, char *buffer, int radix);
Go言語
[編集]Goのstrconv
パッケージでは、整数値を文字列に変換する関数Itoa()
と、文字列を整数値に変換する関数Atoi()
が用意されている[2]。