C 在Windows控制台上读取土耳其语字符

C 在Windows控制台上读取土耳其语字符,c,encoding,character-encoding,scanf,C,Encoding,Character Encoding,Scanf,我需要用C语言从控制台输入土耳其语字符,但我不能。此代码正在运行 setlocale(LC_ALL, "Turkish"); printf("ü ğ ı ş ç ö"); 输出:üğşçö 但当我尝试使用时,它不起作用 setlocale(LC_ALL, "Turkish"); scanf("%c %c %c %c", c, (c + 1), (c + 2), (c + 3)); printf("%c %c %c %c", *c, *(c + 1), *(c + 2), *(c + 3));

我需要用C语言从控制台输入土耳其语字符,但我不能。此代码正在运行

setlocale(LC_ALL, "Turkish");
printf("ü ğ ı ş ç ö");
输出:
üğşçö

但当我尝试使用时,它不起作用

setlocale(LC_ALL, "Turkish");
scanf("%c %c %c %c", c, (c + 1), (c + 2), (c + 3));
printf("%c %c %c %c", *c, *(c + 1), *(c + 2), *(c + 3));
输入:
ğüşç

输出:
§?Y┼


我的操作系统是Windows。当我读取一个文件字符时,没有问题。但只有控制台输入才是问题所在。如何解决此问题?

解决此问题需要cmd中的命令。我解决了。在程序执行之前,命令chcp 1254,然后控制台可以输入土耳其语字符