gpt4 book ai didi

c - 写入宽字符流

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:00 25 4
gpt4 key购买 nike

我想用 C 写一个宽字符到一个文件。

这是我所做的,但它似乎不起作用...文件仍然是空的。

wchar_t c = 0x2592;
FILE *file;
file = fopen("foo.txt","w");
fputwc(c, file);

当然我把 setlocale(LC_ALL, "fr_FR.utf8"); 放在了 main 函数中。

最佳答案

更改 setlocale 参数,在我更改后它对我有用:

setlocale(LC_CTYPE, "fr_FR");

编辑:以上我在 Mac OS X 上测试过。它似乎工作正常,输出文件有 3 个字节。

然后,当我在 Linux 机器 (OpenSuse 11) 上尝试相同的操作时,它的工作方式有所不同:结果文件只有一个字节...所以我将其改回 setlocale(LC_ALL, "fr_FR.utf8") ; 它看起来工作正常,输出文件有 3 个字节......所以它似乎有点依赖于系统,函数是 POSIX,但我认为它们的工作方式取决于你安装的语言或其他东西像那样...所有函数都返回错误代码,您应该检查它们。阅读每个功能的手册,看看它们可以返回哪些错误代码。

关于c - 写入宽字符流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20428464/

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