有没有办法指定const unichar引用的字符串?

时间:2010-02-15 03:12:13

标签: string unicode const

使用xcode,我试图通过执行以下操作将const c字符串转换为unichar数组:

const unichar *str = "Test String";

但是“Test String”被输入为(const char *)并产生编译器错误。有没有办法指定类型为unichar的“测试字符串”?

我希望得到一些像:

const unichar *str = U"Test String";

所以所有工作都是在编译期间完成的。

4 个答案:

答案 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";会对你有用。