0

目的の c と c 自体から文字列を手で変換する場合、私は c-noob です。文字列を mp_int に変換して元に戻したい。私が使用しているライブラリはlibtommathで、メソッド シグネチャは以下のとおりです。

mp_int a;
mp_init(&a);

int res = mp_read_radix(&a, "3493483984238472398423742344793247923648234", 10);
NSLog(@"%i", res);

unsigned char *b = malloc(255);
mp_toradix(&a, &b, 10);

NSString *c = [[NSString alloc] initWithCString:b encoding:NSASCIIStringEncoding];

NSLog(@"--%@", c);

メソッドの署名:

int mp_init (mp_int * a)
int mp_read_radix (mp_int * a, const char *str, int radix)
int mp_toradix (mp_int * a, char *str, int radix)

上記のコードはばかげているようです...誰か助けてくれますか? 関数呼び出しの最後にEXC_BAD_ACCESS を返します (閉じ括弧)。

マーク

4

1 に答える 1

2

mp_toradix(&a, &b, 10);間違っている。そのはずmp_toradix(&a, b, 10);


補足として、bに割り当てられたメモリをリークしています。

于 2012-06-11T20:10:29.097 に答える