我想要一个希腊字母数组,这就是我所做的:
wchar_t pcletters[30] = {'?' , '?' , '?' , '?' , '?' , '?' , '?' , '?', '?' , '?' , '?' , '?' , '?' , '?','?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?' , '?', '?' , '?' , '?' , '?' , '?' , '?'} ;
Run Code Online (Sandbox Code Playgroud)
我也包括 <locale.h>并且有一条线setlocale(LC_CTYPE, "") .
但是我得到警告警告:多字符字符常量[-Wmultichar].此外,当我通过执行以下操作检查其中一个字母是否在用户输入中时:
if (userword[i] == pcletters[j]) {//do stuff}
Run Code Online (Sandbox Code Playgroud)
它似乎不起作用. - 为什么我会收到这个警告? - 有没有办法改变pcletters的方式,以便能够比较userword[i] == pcletters[j]
注意:userword定义如下:wchar_t userword[40].
使用宽字符文字:
wchar_t pcletters[30] = {L'?' , ...
^
Run Code Online (Sandbox Code Playgroud)
请注意,这仅适用于您正在编写的字母是单个宽字符的平台; 这应该适用于Windows,其中wchar_t是UCS-2.