вызов функции C с использованием какао - PullRequest
1 голос
/ 17 марта 2009

У меня есть функция C со следующей сигнатурой метода.

NSString* md5( NSString *str )

Как мне вызвать эту функцию, передать строку и сохранить возвращенную строку?

Я попробовал следующее, но это не сработало:

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

спасибо за вашу помощь

Ответы [ 2 ]

4 голосов
/ 17 марта 2009

Ты делаешь это слишком сложно. Вещи в [] - по сути, мало разговоры. То, что вы хотите, это просто вызвать функцию в C:

NSString * temp = md5(password);
0 голосов
/ 17 марта 2009

Что такое пароль? Пароль - это обычный указатель "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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...