iphone, как распечатать массив символов - PullRequest
2 голосов
/ 16 сентября 2011

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

Ответы [ 4 ]

7 голосов
/ 16 сентября 2011

Попробуйте

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

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

2 голосов
/ 16 сентября 2011

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

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

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

NSLog(@"%s", contract);

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

NSLog(@"%@", [[[NSString alloc] initWithBytesNoCopy:contract length:sizeof(contract) encoding:NSASCIIStringEncoding freeWhenDone:NO] autorelease]);
0 голосов
/ 27 декабря 2017
for (Char *string in myArray) {
    NSLog(@"%@", string);
}
0 голосов
/ 16 сентября 2011

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

...