バイナリ

  • cでのファイル操作
  • ファイルを開くときのモードにバイナリモードを指定する
    • こちらにあるように b を追加する
    • bを追加しないとテキストモードで開かれる
fp = fopen("ファイル名","rb")
  • バイナリモードを指定する理由についてはこちらこちら方の例など
    • そもそもバイナリで処理したほうが速いらしい
  • バイナリファイルの読み書きについて
data = (short)x;
fwrite(&data, sizeof(short), 1, fp);
    • バイナリのファイルを10進法に直してみる
/*binary.c*/
#include <stdio.h>

int main(void){
	FILE *fp;
	FILE *fp2;
	char data[10000];
	size_t size;
	size_t i;
	
	fp = fopen("binaryfile.txt","rb");
	if (fp == NULL) {
		return 1;
	}
	fp2 = fopen("decimal.txt","w");
	if (fp2 == NULL) {
		return 1;
	}
	size = fread(data,1,5000,fp);
	
	for (i=0; i<size; ++i) {
		fprintf(fp2,"%d",data[i]);
	}
	fprintf(fp2,"\n");
	fclose(fp);
	fclose(fp2);
	return 0;
}