在C编程中;我无法从包含土耳其语字符的目录中读取文件,但如果我更改包含土耳其语字符的文件夹的名称,我可以读取它们。
- Os名称:Windows 10
- 程序设计语言:C
- 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"(
你可以试试这些代码。