提问人:Alexander Jonsson 提问时间:7/1/2023 更新时间:7/1/2023 访问量:71
文件不读取 C 中的 UTF-8 输入
File does not read UTF-8 input in C
问:
我有这个代码:
#include <stdio.h>
#define SIZE 100
int main(void) {
char myWord[SIZE];
printf("Enter \"blå\": ");
fgets(myWord, sizeof(myWord), stdin);
printf("Entered string: %s", myWord);
return 0;
}
这是我的输出:
Enter "blå": blå
Entered string: bl
为什么不能正确读取输入?我使用本指南将字符编码更改为 UTF-8:fgets
在命令提示符/Windows Powershell (Windows 10) 中使用 UTF-8 编码 (CHCP 65001)
这帮助我打印而不是,但我仍然无法读取用户的输入。我能想到的唯一解决方案是我需要更改 .我是用还是有其他方法?blå
blå
stdin
locale.h
我在 Windows 和 VScode 上,MINGW32作为编译器。
答: 暂无答案
评论
printf("Entered string: %zu, <%s>\n", strlen(myWord), myWord);
fgets()
很好。查看 stackoverflow.com/a/57134096/1180620