如何使用字符串和objective-c

如何使用字符串和objective-c,objective-c,Objective C,如果涉及到从objective-c和c本身来回转换字符串,我就是c-noob。我想将字符串转换为mp_int并返回。我使用的库是,下面是方法签名 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

如果涉及到从objective-c和c本身来回转换字符串,我就是c-noob。我想将字符串转换为mp_int并返回。我使用的库是,下面是方法签名

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_访问(右括号)

标记

mp_toradix(&a&b,10)是错误的。它应该是
mp_toradix(&a,b,10)



作为旁注,您正在泄漏分配给b的内存。

的可能重复。顺便说一下,您已经可以使用一些很好的转换函数。Cstring->int通过atoi;ObjCstring->int通过[myString intValue];通过sprintf或[NSString stringWithFormat:…]向后;您可以使用NSLog(@“%s”,cStr)注销一个C字符串,而无需首先转换为Obj-C字符串;问题是,我必须提供一个指向函数的指针,但它不返回一个…:/