如何使用字符串和目标-c

时间:2012-06-11 19:03:40

标签: objective-c

如果是来自objective-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)

上面的代码似乎是疯子......任何人都可以帮忙吗?它在函数调用的 end 处给出一个EXC_BAD_ACCESS(关闭括号)。

标记

1 个答案:

答案 0 :(得分:2)

mp_toradix(&a, &b, 10);错了。它应该是mp_toradix(&a, b, 10);


正如附注所示,你正在泄漏分配给b的内存。