我正在尝试将我的号码保存在文件中,但程序一直在崩溃:
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)
答案 0 :(得分:0)
我的x64版本似乎出现了问题。 我再次编译MPIR(这次是x32)并将文件放到VS目录中并且工作正常。
我的猜测是,我没有遵循构建x64的特殊说明:\
顺便说一下。我用了 mpf_out_str(f,10,0,var);
其中f是指向文件的指针,10表示基数,0表示最大精度,var是可保存的变量。