トップページ – C言語編 – 標準ライブラリのリファレンス(名前順)
トップページ – C言語編 – 標準ライブラリのリファレンス(ヘッダ別)
概要 |
文字の配列へ、変換指定に沿って変換された文字列を出力する。 |
|
ヘッダ | ||
形式 |
int sprintf(char* restrict s, const char* restrict format, …); |
|
引数 |
s |
結果を格納する配列を指すポインタ。 |
format |
変換指定を含んだ、あるいは含まないプレーンな文字列。 |
|
… |
format に含まれている変換指定子に対応した個数のパラメータ。 |
|
戻り値 |
正常に終了した場合は、出力した文字数が返される(末尾のヌル文字は含まない)。エラー発生時は負数が返される。 |
|
詳細 |
結果を配列へ格納することを除き、printf関数と同様であり、同じ機能を持つ。 |
|
注意 |
必要な個数の実引数が指定されていない場合の動作は未定義📘。余分に指定されている場合には、評価📘は行われるが、sprintf関数としては無視する。 結果を配列へ格納するため、printf関数と異なり、バッファオーバーフロー📘の可能性を配慮しなければならない。変換指定子を複数使うケースでは、丁寧に最大文字数を考える必要があり、安全に使うことは難しい。 |
|
使用例 |
実行結果:
|
|
関連 |
標準出力📘へ同様の変換指定を行い出力するには、printf関数を使う。任意のストリームに対して出力するには、fprintf関数を使う。 引数に … ではなく、va_list を用いたバージョンとして、vsprintf関数がある。 ワイド文字版の swprintf関数がある。 文字数の上限を指定できるようになり、安全性が高まった snprintf関数がある。 |
|
解説章 |
本ページはアフィリエイトプログラムによる収益を得ています。
以下のリンクから商品を購入されると、Programming Place 管理者に紹介料が支払われています。
(
の直後、)
の直前に空白を入れない)return 0;
を削除(C言語編全体でのコードの統一)
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |