我正在看书:C:简而言之,并在阅读完本节后字符集,谈到宽字符,我写了这个程序:
#include <stdio.h>
#include <stddef.h>
#include <wchar.h>
int main() {
wchar_t wc = '\x3b1';
wprintf(L"%lc\n", wc);
return 0;
}
然后我使用 gcc 编译它,但 gcc 给了我这个警告:
main.c:7:15:警告:十六进制转义序列超出范围[默认启用]
并且程序不会输出字符α(其unicode为U+03B1),这正是我想要的。
如何更改程序以打印字符 α?
这对我有用
#include <stdio.h>
#include <stddef.h>
#include <wchar.h>
#include <locale.h>
int main(void) {
wchar_t wc = L'\x3b1';
setlocale(LC_ALL, "en_US.UTF-8");
wprintf(L"%lc\n", wc);
return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)