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]);
Пожалуйста, пройдите спецификаторы формата. Пытаться %c
вместо %@
, Надеюсь это поможет