在C编程中,我无法从带有土耳其字符的目录中读取文件,但如果更改包含土耳其字符的文件夹的名称,则可以读取它们。
我有一个名为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("%s\n", de->d_name);
closedir(dr);
return 0;
}我该怎么解决这个问题。
发布于 2022-10-11 14:20:06
Vs代码>Preferences>Settings
然后;
搜索
文件编码:
您可以选择ISO-8859-9。
和setlocale(LC_ALL=“土耳其语”)
发布于 2022-10-11 08:15:08
setlocale(LC_CTYPE,"en_US.UTF-8") setlocale(LC_CTYPE,“土耳其语”) setlocale(LC_CTYPE,"iso-8859-9")
你可以试试这些代码。
https://stackoverflow.com/questions/74018769
复制相似问题