この記事では、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関数
の第一引数にはファイル名を、第二引数にはモードを指定します。
ここではwb
と指定しています。
wb
は、書き込みモードでバイナリファイルを開くことを意味します。
次に、fwrite関数
を使ってデータをファイルに書き込みます。
fwrite関数
の第一引数には書き込むデータの先頭アドレスを、第二引数にはデータのサイズを、第三引数にはデータの個数を、第四引数にはファイルポインタを指定します。
この例では、&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関数
の第一引数には書き込むデータの先頭アドレスを、第二引数にはデータのサイズを、第三引数にはデータの個数を、第四引数にはファイルポインタを指定します。
この例では、text
という文字列を書き込んでいます。
最後に、fclose関数
を使ってファイルを閉じます。
上記のコードを実行すると、data.txt
という名前のファイルが作成され、テキストデータが書き込まれます。
以上、frwite関数
を使ったファイルへの書き込みの例を紹介しました。
バイナリデータやテキストデータを書き込む際には、適切なモードでファイルを開き、fwrite関数
を使ってデータを書き込むことができます。
ファイルの書き込みが完了したら、必ずファイルを閉じるようにしましょう。