gpt4 book ai didi

c - 如何在 C 中读取 UTF-8 文本文件?

转载 作者:太空狗 更新时间:2023-10-29 15:42:23 24 4
gpt4 key购买 nike

我有一个包含如下波斯语文本的文本文件:

(U+06CC,U+06A9)。

我想将这个文件读入一个字符串,然后将它存储在一个输出文件中。我正在使用这段代码:

char *locale = setlocale(LC_ALL, "en_US.UTF-8");
FILE *in = fopen("test.txt", "r");
FILE *out = fopen("out.txt", "w");

wint_t c;
while ((c = fgetwc(in)) != WEOF) {
putwchar(c);
fprintf(out, "%c ", c);
}
fclose(in);
fclose(out);

这是行不通的。我期待的是:تست

(U+062A、U+0633、U+062A)。

最佳答案

这只是一个小错误;对于你需要的宽字符:

fprintf(out, "%lc ", c);
-

fwprintf(out, L"%lc ", c);
- - -

然后,它works for me . (该文件还包含以空格分隔的字符。)

关于c - 如何在 C 中读取 UTF-8 文本文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41649841/

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