【C言語】frwite関数を使ってファイルに書き込む方法

この記事では、C言語のfwrite関数を使ってファイルにデータを書き込む方法について解説します。

fwrite関数の使い方や引数、戻り値について説明し、バイナリデータやテキストデータを書き込む具体的な例も紹介します。

C言語初心者の方でも理解しやすいように、詳しく解説していきます。

目次から探す

frwite関数の概要

fwrite関数は、C言語の標準ライブラリ関数の一つであり、指定したデータをバイナリ形式でファイルに書き込むために使用されます。

fwrite関数は、指定したデータのバイト数を指定し、そのデータをファイルに書き込むことができます。

fwrite関数の引数

fwrite関数は、以下の引数を受け取ります。

引数説明
const void *ptr書き込むデータの先頭アドレスを指すポインタ。
size_t size書き込むデータの1つの要素のバイト数。
size_t count書き込むデータの要素数。
FILE *stream書き込むファイルを指すファイルポインタ。

fwrite関数の戻り値

fwrite関数は、書き込みに成功した要素数を返します。

通常、書き込みに成功した要素数は、引数のcountと同じ値になります。

もし書き込みに失敗した場合やエラーが発生した場合は、fwrite関数はエラーを示す値を返します。

frwite関数を使ったファイルへの書き込みの例

frwite関数は、C言語の標準ライブラリで提供されている関数の一つです。

この関数を使うことで、ファイルにデータを書き込むことができます。

ここでは、frwite関数を使ったファイルへの書き込みの例を紹介します。

バイナリデータの書き込み

まずは、バイナリデータをファイルに書き込む例を見てみましょう。

以下のコードは、整数型のデータをバイナリ形式でファイルに書き込む例です。


#include <stdio.h>
int main() {
    int data = 12345;
    FILE *file = fopen("data.bin", "wb"); // バイナリモードでファイルを開く
    if (file != NULL) {
        fwrite(&data, sizeof(int), 1, file); // ファイルにデータを書き込む
        fclose(file); // ファイルを閉じる
        printf("データの書き込みが完了しました。\n");
    } else {
        printf("ファイルを開けませんでした。\n");
    }
    return 0;
}

このコードでは、まずfopen関数を使ってファイルをバイナリモードで開きます。

fopen関数の第1引数にはファイル名を、第2引数にはモードを指定します。

ここではwbと指定しています。

wbは、書き込みモードでバイナリファイルを開くことを意味します。

次に、fwrite関数を使ってデータをファイルに書き込みます。

fwrite関数の第1引数には書き込むデータの先頭アドレスを、第2引数にはデータのサイズを、第3引数にはデータの個数を、第4引数にはファイルポインタを指定します。

この例では、&dataと指定しているので、変数dataのアドレスを渡しています。

最後に、fclose関数を使ってファイルを閉じます。

ファイルを開いたら必ず閉じるようにしましょう。

上記のコードを実行すると、data.binという名前のファイルが作成され、バイナリデータが書き込まれます。

テキストデータの書き込み

次に、テキストデータをファイルに書き込む例を見てみましょう。

以下のコードは、文字列をテキスト形式でファイルに書き込む例です。


#include <stdio.h>
int main() {
    char text[] = "Hello, World!";
    FILE *file = fopen("data.txt", "w"); // テキストモードでファイルを開く
    if (file != NULL) {
        fwrite(text, sizeof(char), sizeof(text) - 1, file); // ファイルにデータを書き込む
        fclose(file); // ファイルを閉じる
        printf("データの書き込みが完了しました。\n");
    } else {
        printf("ファイルを開けませんでした。\n");
    }
    return 0;
}

このコードでは、fopen関数を使ってファイルをテキストモードで開きます。

wと指定することで、書き込みモードでテキストファイルを開くことができます。

fwrite関数の第1引数には書き込むデータの先頭アドレスを、第2引数にはデータのサイズを、第3引数にはデータの個数を、第4引数にはファイルポインタを指定します。

この例では、textという文字列を書き込んでいます。

最後に、fclose関数を使ってファイルを閉じます。

上記のコードを実行すると、data.txtという名前のファイルが作成され、テキストデータが書き込まれます。

以上、frwite関数を使ったファイルへの書き込みの例を紹介しました。

バイナリデータやテキストデータを書き込む際には、適切なモードでファイルを開き、fwrite関数を使ってデータを書き込むことができます。

ファイルの書き込みが完了したら、必ずファイルを閉じるようにしましょう。

目次から探す