C言語学習ポータル(無料版) 学習コンテンツ 関数リファレンス sprintf

🔧 入出力 ・ stdio.h ・ C89

sprintf の使い方

C言語 標準ライブラリ関数リファレンス(無料公開)

書式

int sprintf(char *s, const char *format, ...);

どんな関数か

書式に従って結果を文字列バッファへ書き込む。バッファの大きさを指定できないため、書き込み量が確保サイズを超えるとバッファオーバーフローを起こす危険がある古い関数。 出力される文字数を事前に見積もれない場合は特に危険で、C99以降は原則snprintfへの置き換えが推奨される。

使用例

#include <stdio.h>
int main(void) {
    char buf[32];
    sprintf(buf, "x=%d", 10);
    puts(buf);
    return 0;
}

つまずきやすい注意点

⚠️ バッファサイズを超えて書き込むとメモリ破壊につながる。新規コードでは必ずsnprintfを使う。

アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ

sprintf と一緒に使う関数

snprintf書式に従って結果を文字列バッファへ書き込むが、書き込み先のサイズを指定できるためsprintfより安全。バッファが足りな… printf書式指定文字列に従って可変個の引数を標準出力へ整形して出力する。%dや%sなどの変換指定子と引数の型が一致していないと未…

同じ分類(入出力)の関数

fclose feof ferror fflush fgetc fgets fopen fprintf fputc fputs fread fscanf fseek ftell fwrite getchar

もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。

完全版(BOOTH)を見る