在用unichar初始化汉字字符的时候,开始使用了以下代码:
unichar c = '可';
报错如下:character too large for enclosing character literal type
经网上查找资料,解决方法如下:
先创建一个NSString对象:
NSString * str = @"阿好呵呵";//创建对象
int i; unichar c = [str characterAtIndex:i];//取出字符串的第i个字符 NSLog(@"%C",c);//输出
这样就能正确的初始化一个unichar字符了。
当字符比较多的时候,可创建字符数组:unichar c[10];用循环录入
真的想要直接给unichar赋值的话,可用如下方法:(用unicode编码来赋值)
unichar d = 0x5475;
值得注意的是,输出应该用大写C控制格式,若用小写c控制,则输出相当于只取unicode的低两位,然后按照ascii码输出。
比如:
unichar d = 0x5475; char e = 0x75; NSLog(@"%C",d);//输出:'呵' NSLog(@"%c",d);//输出:'u' NSLog(@"%c",e);//输出:'u',和上面一样
参考:http://www.cnblogs.com/vinceoniphone/archive/2011/02/26/1965919.html