使用xcode,我试图通过执行以下操作将const c字符串转换为unichar数组:
const unichar *str = "Test String";
但是“Test String”被输入为(const char *)并产生编译器错误。有没有办法指定类型为unichar的“测试字符串”?
我希望得到一些像:
const unichar *str = U"Test String";
所以所有工作都是在编译期间完成的。
答案 0 :(得分:1)
据我所知,没有办法使用这样的字符串。
你可以这样做
const unichar string [] = {'u','n','i','c','o','d','e'};
但除此之外,我不知道。
但我可能错了,我对c ++的这一方面没有做太多的事情:))
答案 1 :(得分:0)
如果在项目设置中的“Apple LLVM编译器”下选择C ++ 11 for C ++ Language Dialect,则可以使用新的C ++字符类型char16_t - 它的大小与unichar类型相同。然后你可以用这样的代码初始化字符串文字:
const char16_t * str = u“我的UTF-16字符串”;
答案 2 :(得分:0)
NSString *string1 = @"Test String";
const unichar *str = (const unichar *)[string1 cStringUsingEncoding:NSUnicodeStringEncoding];
答案 3 :(得分:-2)
也许const unichar *str = L"Test String";
会对你有用。