gmp 值转换为 char*
我不明白如何将 mpz_t 类型变量放入 char* 中。我尝试了很多函数,但我的 char* 保持为空。
我可以输出我的 B 变量:
mpz_t B; gmp_printf("B: %Zx\n", B);
但是如何将该 B 变量转换为 char* ?
I don't understand how I can get mpz_t type variable into char*. I've tried many functions, but my char* stays empty.
I can output my B variable:
mpz_t B; gmp_printf("B: %Zx\n", B);
But how to convert that B variable into char*?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
看起来
mybuffer = mpz_get_str(NULL, /*base*/10, B);
可以满足您的要求。 (它分配返回的缓冲区。如果您愿意,您可以将其写入现有缓冲区 - 请参阅手册以了解如何计算所需的大小。)Looks like
mybuffer = mpz_get_str(NULL, /*base*/10, B);
does what you want. (It allocates the returned buffer. You can have it write to an existing buffer if you prefer - see the manual for how to compute the size required.)