최근에 임시로 파일을 못 열게 하려고 .xml 파일의 확장자를 .xml_로 바꿨는데 그럼에도 불구하고 열리는 기이한 현상을 겪었습니다. 그래서 디버깅해보니, FindFirstFile/FindNextFile이 "*.xml"을 검색했음에도 불구하고 .xml_ 도 찾아오고 있더군요.

열심히 구글링을 해본 결과 다음과 같은 설명을 찾았습니다.

Why does FindFirstFile find short names? [The Old New Thing]

한줄 요약하면 "16비트 호환성을 위해서 short name이랑 매칭하기 때문에 일어나는 일"입니다.

찾은 파일의 파일명을 다시 체크하도록 래퍼 펑션 만들어서 써야겠습니다.

그리고, 앞으로 Win32 API가 수상한 짓하면 MSDN 찾아본 다음에 바로 구글링하지말고, The Old New Thing을 먼저 뒤져보아야겠습니다. The Old New Thing의 글들 좀 MSDN에 반영해주면 좋겠는데 말이죠.

'게임 만들기 > 프로그래밍' 카테고리의 다른 글

삽질 코드  (1) 2008.12.23
CRT를 디버그 버전을 쓰면  (0) 2008.10.24
VS Sucks  (0) 2008.03.01
top