0

自分の番号をファイルに保存しようとしていますが、プログラムがクラッシュし続けます:

include stdio.h
include mpir.h

int main(void){

mpf_set_default_prec(32); //Default precision for floating points

mpf_t my_number;
mpf_init_set_str(my_number, "5.12345e0", 10); //Set my_number to 5.123 with decimal base (10)

FILE *f;
f = fopen("some.txt", "w");

gmp_printf("Printed number to screen: %.*Ff \n", 32, my_number);

//Everything works until I try to save it to file:

gmp_fprintf(f, "My saved number is:  %.*Ff \n", 32, my_number);

fclose(f);

return 0;
}

fprintf の代わりに私が試した:

gmp_fscanf(f, "%F", &zbroj)

mpz_out_str(f, 10, zbroj)

sprintf(f, "%F", zbroj)

4

1 に答える 1

0

私の x64 ビルドに何か問題があったようです。MPIR を再度コンパイルし (今回は x32)、ファイルを VS ディレクトリに配置したところ、動作しました。

私の推測では、私が従わなかった x64 をビルドするための特別な指示があると思います:\

ところで。私は mpf_out_str(f, 10, 0, var); を使用しました。

ここで、f はファイルへのポインター、10 は基数、0 は最大精度、var は保存される変数を意味します。

于 2016-05-11T20:47:54.500 に答える