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

🔧 入出力 ・ stdio.h ・ C89

fwrite の使い方

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

書式

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 と一緒に使う関数

freadストリームから固定サイズのデータブロックを複数個読み込む。バイナリファイルの読み込みに使い、戻り値は実際に読み込めた要素… fopenファイルを開いてストリームを得る。モード文字列("r"読込/"w"書込/"a"追記、"b"でバイナリ)を指定する。失敗時…

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

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

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

完全版(BOOTH)を見る