バイナリで読み書き

  • Cでバイナリファイルの読み書き
    • double型の変数が6個
    • バイナリで書かれたtest.txtも出力される
// mat.c

# include <stdio.h>
# include <stdlib.h>

int main(void)
{
	double x[]={0.0,1.0,2.0,3.0,4.0,5.0} , y[6];

	FILE *fp;
	fp = fopen("test.txt","w");
	if(fp == NULL){
		printf("ファイル操作中にエラー");
		exit(1);
	}
	fwrite(x,sizeof(double),6,fp);
	fclose(fp);
		   
	fp = fopen("test.txt","r");
	if(fp == NULL){
		printf("ファイル操作中にエラー");
		exit(1);
	}
	fread(y,sizeof(double),6,fp);
	fclose(fp);
	
// 和を出力させている
	printf("%lf",y[0]+y[1]+y[2]+y[3]+y[4]+y[5]);
	
	return 0;
}
  • Rで読み込み
    • double型変数6個の読み込み
    • readBin()を使う
# ファイルの場所とバイナリモードの読み込みの指定
to.read = file("~/Desktop/read/test.txt","rb")

# 読み込み方の指定をする
readBin(to.read,double(),n=6,endian = "little")
  • Rの実行結果
> to.read = file("~/Desktop/read/test.txt","rb")
> readBin(to.read,double(),n=6,endian = "little")
[1] 0 1 2 3 4 5