iphone, как распечатать массив символов

У меня есть массив char,char contract[8], и я присваиваю значение массиву, и я хочу напечатать значение, поэтому я использую NSLog(@"%@",contract);и сборка удалась. но работать некорректно.

4 ответа

Пытаться

NSLog(@"%@",[NSString stringWithCString:contract encoding:NSUTF8StringEncoding]);

По сути, вам нужно сделать строку C объектом NSString.

Если вы знаете размер

NSLog(@"%*.s", 8, contract);

Если контракт является строкой с нулевым символом в конце

NSLog(@"%s", contract);

или просто конвертировать в NSString

NSLog(@"%@", [[[NSString alloc] initWithBytesNoCopy:contract length:sizeof(contract) encoding:NSASCIIStringEncoding freeWhenDone:NO] autorelease]);
for (Char *string in myArray) {
    NSLog(@"%@", string);
}

Пожалуйста, пройдите спецификаторы формата. Пытаться %c вместо %@, Надеюсь это поможет

Другие вопросы по тегам