🔧 入出力 ・ stdio.h ・ C89
fwrite の使い方size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
メモリ上のデータブロックを指定個数だけストリームへ書き込む。バイナリ出力の基本関数で、構造体配列をそのままファイル化するような用途によく使われる。 書き込みが完了したことを確実にしたい場合は、fflushやfcloseを呼んで内容を確定させる。
#include <stdio.h>
int main(void) {
int data[3] = {1, 2, 3};
FILE *fp = fopen("out.bin", "wb");
if (fp) {
fwrite(data, sizeof(int), 3, fp);
fclose(fp);
}
return 0;
}
⚠️ 構造体をそのまま書き込むとパディングや処理系依存のバイト順が混じり、別環境で読めない可搬性の低いファイルになる。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
fwrite と一緒に使う関数fclose
feof
ferror
fflush
fgetc
fgets
fopen
fprintf
fputc
fputs
fread
fscanf
fseek
ftell
getchar
gets_s
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。