使用cocoa调用C函数

时间:2009-03-17 02:14:04

标签: cocoa cocoa-touch

我有一个带有以下方法签名的C函数。

NSString* md5( NSString *str )

如何调用此函数,传入字符串,并保存返回的字符串?

我尝试了以下操作,但它不起作用:

NSString *temp= [[NSString alloc]initWithString:md5(password)];

感谢您的帮助

2 个答案:

答案 0 :(得分:4)

你做得太难了。 []中的内容实际上是小内容。你想要的只是在C:

中调用函数
NSString * temp = md5(password);

答案 1 :(得分:0)

什么是密码?密码是常见的“char *”指针吗?您输入的 md5 签名是否正确?

如果是这种情况,您可以:

NSString *temp = [[NSString alloc] initWithCString:password  encoding:NSASCIIStringEncoding];

如果你的md5签名是:char * md5(char *密码),并且你有密码存储在NSString中,你可以:

NSString password = @"mypass";
char buff[128];
NSString *temp = [[NSString alloc] initWithString:password];
[temp getCString:buff maxLength:128 encoding:NSASCIIStringEncoding];
char *md5 = md5(buff);
// then you could do whatever you want with md5 var