次の簡単な方法を使用して、 my から各文字/文字を表示し、 myが 14 文字未満のNSString
場合はカウントし、配列から残りの文字を表示して、合計 14 文字にします。NSString
Unichar
サンプルコードは次のとおりです。
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が機能するのはなぜですか?しかし、キリル文字で宣言された文字を含むこのものは機能しません。
ありがとう