sprintf
読み:エス-プリント-エフ
外語:sprintf
Cで、文字列書式に従って、文字配列に書き込む関数。
書式
#include <stdio.h>
int sprintf(char *str, const char *format, ...);
概要
第二引数に指定するフォーマット文字列は、printfと同じである。
標準出力に出力する代わりに、文字配列に書き込むことを目的とした関数である。
特徴
sprintfは、strcpy、strcatと共に、頻繁にバッファーオーバーフローを起こす、代表的な三大文字列関数の一つである。
なぜなら、結果を格納する先の大きさを指定できないからである。
そこで現在は、第2引数に第1引数の大きさを記載する機能を追加したsnprintf関数が提供され、C99以降で標準化されている。
特段の理由がないのであれば、sprintfではなくsnprintfを用いるべきである。
再検索