wxString 格式 Unicode 字符
wxString format Unicode character
for(int i='א'; i<='ת'; i++)
incList.Add( wxString::Format("%c", wxT(i));
我正在尝试使用 wxT 将 Unicode 字符添加到数组中。我收到此错误
error: 'Li' was not declared in this scope
导致错误的原因是什么,如何解决?谢谢
wxT() 是这样定义的宏:
#ifdef UNICODE
# define wxT(x) L##x
#else // !Unicode
# define wxT(x) x
#endif
所以当然 wxT(i)
变成了 Li
。它应该只与字符串文字一起使用。
此外,wxT()
为什么要将 int 转换为 string?为此使用 itow
。
wxT()
用于操作字符串文字,而不是变量。
您可能想要类似于 wxString::FromUTF8(chars)
或 wxString mystring2(chars, wxConvUTF8)
的内容。简单地传递一个字符数组作为参数也可以,但这取决于当前的语言环境。
哦,当我们在做的时候...
for(int i='א'; i<='ת'; i++)
...请注意,在 C++ 源代码中使用基本字符集(基本上是 ASCII-7)之外的字符是 实现定义的。您可能应该改用转义序列。
for(int i='א'; i<='ת'; i++)
incList.Add( wxString::Format("%c", wxT(i));
我正在尝试使用 wxT 将 Unicode 字符添加到数组中。我收到此错误
error: 'Li' was not declared in this scope
导致错误的原因是什么,如何解决?谢谢
wxT() 是这样定义的宏:
#ifdef UNICODE
# define wxT(x) L##x
#else // !Unicode
# define wxT(x) x
#endif
所以当然 wxT(i)
变成了 Li
。它应该只与字符串文字一起使用。
此外,wxT()
为什么要将 int 转换为 string?为此使用 itow
。
wxT()
用于操作字符串文字,而不是变量。
您可能想要类似于 wxString::FromUTF8(chars)
或 wxString mystring2(chars, wxConvUTF8)
的内容。简单地传递一个字符数组作为参数也可以,但这取决于当前的语言环境。
哦,当我们在做的时候...
for(int i='א'; i<='ת'; i++)
...请注意,在 C++ 源代码中使用基本字符集(基本上是 ASCII-7)之外的字符是 实现定义的。您可能应该改用转义序列。