我使用以下简单的方法来显示我的每个字母/字符NSString
,并计算我NSString
的字母是否少于 14 个,然后显示来自的其余字母Unichar
数组中的其余字母,总共 14 个字母。
这是一个示例代码:
NSString *str = @"HELLO";
//unichar chrs [14] ={0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // this works great, shows English chars
unichar chrs [14] ={L'б', L'в', L'г',L'д',L'ж',L'з',L'к',L'л',L'м',L'н',L'п',L'р',L'с',L'т'}; // doesnt work
for (int i = 0; i < str.length; i++) {
int index = (arc4random() % 14);
while (chrs[index] != 0)
{
index = (arc4random() % 14);
}
chrs[index] = [str characterAtIndex: i];
}
for (int i = 0; i < 14; i++) {
if (chrs[i] == 0) chrs[i] = (arc4random() % 26) + 65;
}
for (int i = 0; i < 14; i++) {
NSLog(@"%C", chrs[i]);
}
如您所见,注释行有效。但我的问题就在那里,unichar chrs包含特定的俄语字母。
我做错了什么?为什么第一个被评论的unichar chrs有效,但这个带有西里尔字母声明的字母却没有。
谢谢