sprintf
読み:エス-プリント-エフ
外語:sprintf

 Cで、文字列書式に従って、文字配列に書き込む関数。
目次

書式
 #include <stdio.h>
 int sprintf(char *str, const char *format, ...);

概要
 第二引数に指定するフォーマット文字列は、printfと同じである。
 標準出力に出力する代わりに、文字配列に書き込むことを目的とした関数である。

特徴
 sprintfは、strcpy、strcatと共に、頻繁にバッファーオーバーフローを起こす、代表的な三大文字列関数の一つである。
 なぜなら、結果を格納する先の大きさを指定できないからである。
 そこで現在は、第2引数に第1引数の大きさを記載する機能を追加したsnprintf関数が提供され、C99以降で標準化されている。
 特段の理由がないのであれば、sprintfではなくsnprintfを用いるべきである。

再検索