2016-03-07 1 views
1

OK. J'utilise donc la bibliothèque GMP pour calculer les grands nombres. J'ai le code comme ceci:Bibliothèque GMP - Fichier d'E/S

#include <stdio.h> 
#include <iostream> 
#include <cstdlib> 
#include <string> 
#include <gmp.h> 


using std::cout; 
using std::endl; 


int main(int argc, char** argv) 
{ 
    FILE *file; 
    file = fopen("data.txt", "wt"); 
    int number=atoi(argv[1]), i=1; 
    mpz_t a; mpz_init(a); 
    mpz_t b; mpz_init(b); 
    mpz_set_ui(b, 1); 
    cout<<a<<endl; 
    for (; number>0; number--, i++) 
    { 
     cout<<i<<". "<<b<<endl; 
     mpz_add(b,b,a); 
     mpz_sub(a,b,a); 
    } 
    mpz_clear(a); 
    mpz_clear(b); 
    fclose(file); 
} 

Je voulais imprimer des chiffres (a, b) dans un fichier .txt. Comment puis-je le faire? Essayé fprintf(), mais il ne semble pas fonctionner

+0

(pourquoi ne pas utiliser 'gmpxx.h'?) Tout comme vous utilisez 'cout << a', vous pourriez avoir un' std :: ofstream f' et faire 'f << a' ... –

Répondre