C言語でバイナリ出力ファイルをどのように実現できますか?
C言語では、データをバイナリ形式でファイルに出力するには、fwrite()関数を使用します。fwrite()関数のプロトタイプは以下の通りです。
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream);
ptrはデータを記述するためのポインターを指し、sizeは1つのデータ項目のサイズ(バイト単位)を示し、nmembは記述するデータ項目の数、streamはファイルに書き込むためのポインターを指します。
以下是一个简单的例子,展示如何将数据以二进制形式输出到文件:
#include <stdio.h>
int main() {
FILE *fp;
int data[] = {1, 2, 3, 4, 5};
fp = fopen("output.bin", "wb");
if (fp == NULL) {
printf("Error opening file\n");
return 1;
}
fwrite(data, sizeof(int), 5, fp);
fclose(fp);
return 0;
}
この例では、整数配列dataを定義し、”output.bin”という名前のファイルをバイナリ書き込みモード(”wb”)で開きます。そして、fwrite()関数を使って整数配列dataのデータをファイルにバイナリ形式で書き込みます。最後に、ファイルを閉じます。
そのプログラムを実行すると、”output.bin”というファイルに整数配列dataのデータがバイナリ形式で保存されます。