2011-03-16 3 views
0

Je ne comprends pas comment je peux obtenir la variable de type mpz_t en char *. J'ai essayé beaucoup de fonctions, mais mon caractère * reste vide.Valeur gmp dans char *

je peux ma sortie variable B:

 
mpz_t B; 
gmp_printf("B: %Zx\n", B); 

Mais comment convertir cette variable B en char *?

Répondre

0
 
gmp_sprintf(array, "%Zx", B); 
+0

Notez que cette fonction n'est pas recommandée car il n'y a pas de protection contre l'écriture. après la fin de la mémoire tampon (http://gmplib.org/manual/Formatted-Output-Functions.html#Formatted-Output-Functions) –

1

On dirait que mybuffer = mpz_get_str(NULL, /*base*/10, B); fait ce que vous voulez. (Il alloue le tampon retourné, vous pouvez l'écrire dans un tampon existant si vous préférez - voir le manuel pour savoir comment calculer la taille requise.)