C言語でfwrite関数がどのように使われるか教えてください
C言語のファイル操作関数fwriteは、データブロックをファイルに書き込むために使用されます。
基本的な使い方は次のとおりです。
size_t fwrite(const void *buffer, size_t size, size_t count, FILE *stream);
パラメーターの説明
- バッファ : 書き込むデータへのポインター
- サイズ:各データ項目のサイズ(バイト単位)
- カウント: 書き込むデータ項目の数。
- stream:ファイルオブジェクトへのポインタで、書き込むファイルを表現しています。
関数は実際に書き込まれたデータ項目の個数を返します。
ネイティブな日本語で言い換える場合は、以下のオプションのうちの1つのみが必要です:
#include <stdio.h>
int main() {
FILE *file = fopen("data.txt", "w");
if (file == NULL) {
printf("文件打开失败\n");
return 1;
}
int data[] = {1, 2, 3, 4, 5};
size_t num = fwrite(data, sizeof(int), 5, file);
printf("成功写入 %lu 个数据项\n", num);
fclose(file);
return 0;
}
fopen関数でファイルをオープンし、5個の整数を格納した配列dataを書き込み、fclose関数でファイルを閉じます。
ご注意ください
- fwrite関数は複数のデータを一度に書き込むため効率的ですが、書き込むデータの塊の大きさや個数が実需要と一致している必要があります。
- fwrite関数はバイナリーデータを書き込むが、テキストデータを書き込む場合はfputs関数やfprintf関数を使用することが推奨されている。
- fwrite関数でデータ書き込みを行う前に、ファイルが書き込みモードでオープンされていることを確認する必要があります。