🔧 入出力 ・ stdio.h ・ C99
snprintf の使い方int snprintf(char *s, size_t n, const char *format, ...);
書式に従って結果を文字列バッファへ書き込むが、書き込み先のサイズを指定できるためsprintfより安全。バッファが足りない場合も溢れず、本来必要だったサイズが戻り値で分かる。 ログメッセージの組み立てなど、固定サイズバッファへ安全に文字列を作りたい場面の定番関数。
#include <stdio.h>
int main(void) {
char buf[16];
int n = snprintf(buf, sizeof buf, "value=%d", 12345);
printf("wrote %d chars: %s\n", n, buf);
return 0;
}
⚠️ 戻り値はバッファに収まらなかった場合でも「本来必要だった文字数」を返すため、実際に書き込まれた量と混同しない。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
snprintf と一緒に使う関数fclose
feof
ferror
fflush
fgetc
fgets
fopen
fprintf
fputc
fputs
fread
fscanf
fseek
ftell
fwrite
getchar
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。