0
에서 전체 경로를 얻기 나는 WIN32_FIND_DATA 내 코드에서 전체 경로를 받고 도움이 필요합니다. 하지만 경로 (../art/*.dds)와 파일 이름을 더할 수 없습니다. 하위 폴더를 어떻게 확인할 수 있습니까? 또는 이미 그렇게합니까?WIN32_FIND_DATA
현재 코드 : 당신은 스캔 한 디렉토리를 알고
WIN32_FIND_DATA FindData;
HANDLE hFind;
hFind = FindFirstFile(L"../art/*.dds", &FindData);
if(hFind == INVALID_HANDLE_VALUE)
{
PrintCharS("Error searching directory");
return;
}
do
{
char ch[260];
char DefChar = ' ';
WideCharToMultiByte(CP_ACP, 0, FindData.cFileName, -1, ch, 260, &DefChar, NULL);
string ss(ch);
// Just incase they're needed
DWORD retval=0;
BOOL success;
TCHAR buffer[4096]=TEXT("");
TCHAR buf[4096]=TEXT("");
TCHAR** lppPart={NULL};
LPSTR buffeer = "";
LPSTR* lpppPart = NULL;
retval = GetFullPathNameA(ch, 4096, buffeer, lpppPart);
if (retval == 0)
{
std::exit(1);
}
else
{
LoadFile(/ Expected WCHAR* \);
}
}
while(FindNextFile(hFind, &FindData) > 0);
나는 완전히 바보 같으며 작업에 지쳤지만 실제로 작동해야한다. 나는 어떻게해야하는지 예제가 필요하다. GetFullPathName 함수를 시도했지만 경로의 맨 첫 글자를 제외하고 나에게 아무 것도주지 않는 것 같습니다. – SpecialLUANewbie
@SpecialLUANewbie 첫 글자 : 유니 코드 (UTF-16)를 내보내는 것처럼 들리지만 ANSI (8 비트)로 처리하므로 들으실 수 있습니다. {L, AB, ... 대신에 {64, 0, 65, 0, ...}'매크로와 UNICODE #define을 피하고,'GetFullPathNameW' (- * W * 해당 설정이 일치하지 않는 경우 –
WideCharToMultiByte 결과를 전달하는 경우 컨텍스트가 -W 형식을 사용하므로 정규화되지 않은 GetFullPathName과 함께 작동하지 않습니다. ch를 GetFullPathNameA에 전달하거나 원본을 GetFullPathNameW에 전달합니다. –