Конвертировать unsigned char * в int * в Objective-C - PullRequest
2 голосов
/ 03 декабря 2009

Я пытаюсь преобразовать unsigned char* в int * в Objective-C на iPhone. Есть ли API, который может помочь с преобразованием?

Вот моя лучшая попытка:

-(BOOL)MyFunc:Version:(int *)nVer
{
   unsigned char * uszVerSize;
   //trying to assign string to int
   nVer =  uszVerSize[0] ;
}

Ответы [ 2 ]

10 голосов
/ 03 декабря 2009

Дорогой Господь, я думаю, что у тебя больше проблем, чем указано выше.

Вам нужно преобразовать символы в int и вернуть их.

return [[NSNumber numberWithUnsignedChar:uszVerSize] intValue];

Вы также должны узнать об указателях и о том, как целые и символы отличаются в памяти. Вы не можете просто присвоить указатель на символ указателю на int.

0 голосов
/ 05 декабря 2009
const char *asciiCString = [@"abc-zABC-Z" cString];
  int cStringLen = [@"abc-zABC-Z" length];
  for(i=0;i<cStringLen;i++) {
    [asciiMArray addObject: [[NSNumber alloc] initWithInteger: asciiCString[i]]];
    printf("%d\n",asciiCString[i]);
  }

  for(i=0;i<cStringLen;i++) {
    NSLog(@"%@",[asciiMArray objectAtIndex: i]);
    printf("%d\n",asciiCString[i]);
  }

Это код, который я написал вчера, чтобы проверить код моего обучающегося лица

Это может выглядеть наивно ... но если это поможет тебе ...

asciiCString [i] возвращает значение ASCII символа, на который есть ссылка в индексе. asciiMArray является объектом NSMutableArray

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...