在其他语言中,没有英语通常会带有特殊字符,例如西班牙语中的ñ。
我最近发现自己想知道如何比较两个char,例如temporal =='ñ'?或临时== char(-94)我尝试了两者,但没人能正常工作
答案 0 :(得分:0)
我认为您最有可能的情况是您选择字符集,并且您有一个控制台应用程序。如果不是,那么您唯一需要注意的就是第一句话,以及代码中字符串前面的L
。而wchar_t
是您的字符类型。
确保将General
下的项目属性设置为“使用Unicode字符集”。而且我也忘记了控制台应用程序的一些小技巧。出于某些奇怪的原因,您必须将控制台模式设置为unicode(可能是向后兼容)。对于UI应用程序,这不是问题。
#include <fcntl.h>
#include <io.h>
...
_setmode(_fileno(stdout), _O_U16TEXT); //use utf-16, like every other Windows system defaults to
_setmode(_fileno(stdin), _O_U16TEXT);
wchar_t n = 0x00f1; //see https://www.fileformat.info/info/charset/UTF-16/list.htm
_tprintf(L"%c\n", n); //(or use wprintf explicitly)
_tprintf(L"ññññññññññ\n");
wcout << L"ñ\n";
我希望这至少对您有所帮助。