1
안녕하세요.C - wchar_t는 원하지 않는 문자를 인쇄합니다.
영어 이외의 문자 파일이있는 폴더를 나열하려고합니다. 아래 함수는 인수를 취합니다 (예 : C:\
). 그 안에 파일을 나열합니다. 하지만 정확히 100 %는 아닙니다. 터키 문자의 경우 wchar_t
유형을 사용했지만 일부 기호를 인쇄합니다.
void listFolder(const wchar_t* path){
DIR *dir;
struct _wdirent *dp;
wchar_t * file_name;
wchar_t fullpath[MAX_PATH];
dir = _wopendir(path);
while ((dp=_wreaddir(dir)) != NULL) {
//printf("[i]debug: \t%s\n", dp->d_name);
if (!wcscmp(dp->d_name, L".") || !wcscmp(dp->d_name, L"..")){
// do nothing
}
else {
file_name = dp->d_name; // use it
wprintf(L"[*]file_name: \t\"%ls\"\n",file_name);
}
}
_wclosedir(dir);
}
나는 현재 CodeBlocks 16.01
와 윈도우 7의 x64를 사용하고 이상한 부분입니다 같은 기능이 CodeBlocks와 우분투 16.04에서 완벽하게 작동합니다.
, 문자를 지원하는 당신은 하나에 코드 페이지를 변경해야 http://stackoverflow.com/questions/15827607/writeconsolew-wprintf-and-unicode를 참조하면 인쇄하고 싶다. – Richard