Как в Objective-C распечатать N пробелов? (используя stringWithCharacters)

Следующее пытается вывести N пробелов (или 12 в примере):

NSLog(@"hello%@world", [NSString stringWithCharacters:" " length:12]);

const unichar arrayChars[] = {' '};
NSLog(@"hello%@world", [NSString stringWithCharacters:arrayChars length:12]);

const unichar oneChar = ' ';
NSLog(@"hello%@world", [NSString stringWithCharacters:&oneChar length:12]);

Но все они выводят странные вещи, такие как hello ÔÅÓñüÔÅ®Óñü®ÓüÅ®ÓñüÔ®ÓüÔÅ ®world... Я думал, что «массив символов» — это то же самое, что и «строка», и то же самое, что и «указатель на символ»? Спецификация API говорит, что это должен быть «массив символов Unicode C» (по Unicode, это UTF8? если это так, то он должен быть совместим с ASCII)... Как заставить его работать и почему эти 3 способа выиграли не работает?

10
задан Jeremy L 22 May 2012 в 13:14
поделиться