在Objective-C中将unsigned char *转换为int *

时间:2009-12-03 12:23:10

标签: iphone

我正在尝试在iPhone上的Objective-C中将unsigned char*转换为int *。有没有可以帮助转换的API?

这是我最好的尝试:

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

2 个答案:

答案 0 :(得分:10)

亲爱的主,我认为你遇到的问题比上面提到的还要严重。

您需要将字符转换为int并返回该字符。

return [[NSNumber numberWithUnsignedChar:uszVerSize] intValue];

您还应该了解指针以及内存和字符在内存方面的差异。您不能只将指向char的指针指定给指向int的指针。

答案 1 :(得分:-2)

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]返回索引处引用的char的ASCII值。 asciiMArray是一个NSMutableArray对象