gpt4 book ai didi

C 编程、unicode 和 linux 终端

转载 作者:IT王子 更新时间:2023-10-29 00:49:55 28 4
gpt4 key购买 nike

所以我想做的是将日语字符写入我的终端使用 C 和宽字符的屏幕。

问题是我正在做的事情出了什么问题,以便我可以修复它,在使用宽字符和对于我正在尝试做的事情,您还有其他意见吗?




错误代码:

#include <stdio.h>
#include <wchar.h>

int main( ) {
wprintf(L"%c\n", L"\x3074");
}

这行不通,但我想知道为什么。


当我尝试使用 wchar_t 来保存一个值时,问题只会变得更糟:

wchar_t pi_0 = 0x3074;      // prints a "t" when used with wprintf
wchar_t pi_1 = "\x3074"; // gives compile time warning
wchar_t pi_2 = L"\x3074"; // gives compile time warning

所以我也想做这个工作,因为我计划拥有数据结构持有这些字符的字符串。




谢谢!

最佳答案

"\x3074"的类型是const char[]L"\x3074"的类型是const wchar_t[].

如果你需要一个wchar_t,使用单引号:

L'\x3074'

此外,%c 打印一个 char,但是对于 wchar_t,您需要一个 %lc

关于C 编程、unicode 和 linux 终端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2231211/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com