필자는 FindFirstFile 및 FindNextFile을 사용하여 디렉토리를 역방향으로 검색하기 위해 시스템에서 작업을하고 있었지만 이해가되지 않는 문제가 발생했습니다.매우 이상한 LPCTSTR의 동작
다음은 코드 스 니펫입니다. 나는 Visual Studio를 사용하면 제외한 모든 볼 수 있듯이 2008 년
하지만 마지막 문자와 '\'는 볼 수없는 수 있으며, 나머지는 온을 사용하고
int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine
,int nCmdShow)
{
searchDrive((LPCTSTR)"C:\\",(LPCTSTR)"*.bdjf");
return 0;
}
bool searchDrive(LPCTSTR lpFolder, LPCTSTR lpFilePattern)
{
TCHAR szFullPattern[MAX_PATH];
WIN32_FIND_DATA FindFileData;
HANDLE hFile = INVALID_HANDLE_VALUE;
PathCombine(szFullPattern, lpFolder, L"x");
MessageBox(NULL,szFullPattern,lpFilePattern,MB_ICONWARNING |
MB_CANCELTRYCONTINUE |
MB_DEFBUTTON2);
HANDLE hFind = FindFirstFile(szFullPattern, &FindFileData);
아시아 문자로 표시됩니다.
(주 내 코드와 다른 문제의 대해 걱정하지 마십시오.)
이 평가 될 것입니다 일어나고있는 이유가 뭘까요.
고대 Windows 프로그램을 포팅하지 않는 한'TCHAR'과 그 ilk를 사용하지 마십시오. – Deduplicator
당신은 컴파일러에게 거짓말을했고, 그것은 당신에게 복수를했습니다. –