我正在尝试在iPhone上的Objective-C中将unsigned char*
转换为int *
。有没有可以帮助转换的API?
这是我最好的尝试:
-(BOOL)MyFunc:Version:(int *)nVer
{
unsigned char * uszVerSize;
//trying to assign string to int
nVer = uszVerSize[0] ;
}
答案 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对象