我无法从C中的土耳其字符目录中读取文件



在C编程中;我无法从包含土耳其语字符的目录中读取文件,但如果我更改包含土耳其语字符的文件夹的名称,我可以读取它们。

  1. Os名称:Windows 10
  2. 程序设计语言:C
  3. IDE:Visual Studio代码

我有一个名为Ülke的文件夹。我无法从此目录中读取文件。

DIR *dr = opendir("C:/Users/softeng/tutorials/comp/Ülke/");

但当我将此文件夹重命名为Ulke时,我可以读取它。

DIR *dr = opendir("C:/Users/softeng/tutorials/comp/Ulke/");

所有代码;

#include <stdio.h>
#include <dirent.h>
#include <locale.h>

int main(void)
{
setlocale(LC_ALL, "Turkish");
struct dirent *de;
DIR *dr = opendir("C:/Users/softeng/tutorials/comp/Ülke/");

if (dr == NULL) {
printf("Could not open current directory" );
return 0;
}

while ((de = readdir(dr)) != NULL)
printf("%sn", de->d_name);
closedir(dr);    
return 0;
}

我该怎么解决?

Vs代码>首选项>设置

然后;

搜索

文件编码:

您可以选择ISO-8859-9

并且设置区域设置(LC_ALL="土耳其语"(

setlocale(LC_CTYPE,"en_US.UTF-8"(setlocale(LC_CTYPEsetlocale(LC_CTYPE,"iso-8859-9"(

你可以试试这些代码。

最新更新