-1

4 倍精度の quadmath ライブラリを使用しています。fwrite 関数を使用してバイナリ ファイルに書き込むことはできますか?

struct rec
{ 
   __float128 mydata;
}

struct rec my_record;

mydata=1.41421356237309504880q;
fwrite(&my_record, sizeof(struct rec), 1, myfile);
4

1 に答える 1

0

ファイルへの書き込みに問題はないはずです。同じ方法で (つまり を使用してfread) 読み取り、ファイルがマシン間でコピーされない限り、問題はありません。

これを行うために値を構造体にカプセル化する必要もありません。

__float128 mydata;
int rval;

mydata=1.41421356237309504880q;

rval = fwrite(&mydata, sizeof(mydata), 1, myfile);
if (rval < 1) {
    perror("failed to write record");
} 

...

rval = fread(&mydata, sizeof(mydata), 1, myfile);
if (rval < 1) {
    perror("failed to read record");
} 
于 2016-01-04T21:13:22.030 に答える