추적해보면, DCMToMat 이전에 get_files_in_folder함수에서 파일 목록을 return해주지 못하는 에러!
HANDLE hFind = FindFirstFile(folder, &fd);
여기에서 FindFirstFile
의 return값이FFFFFFF...
이런 값이 나오고,
이 값은 즉, INVALID_HANDLE_VALUE
와 같다.
if(hFind != INVALID_HANDLE_VALUE){
따라서 이 if문에 들어가지 못함...
결론 :
FindFirstFile
의 input과 output에 대해 알아봐야 함.
접근 방법 1
이전에 .png 파일들 읽어 들인 것처럼 똑같이 코드 적용해본다. (Use *Unicode** Character Set으로)
- 결론 : 실패... DCMTK는 UNICODE 를 Compile하지 못하는 듯... ==> 따라서 기존의
wchar_t
,str_t
,wsprintf
사용 X
"DCMTK does not compile when UNICODE or _UNICODE is defined because the VisualStudio compiler then uses the Unicode version instead of the ANSI version for all Windows API functions (i.e. type wchar_t instead of char for all character string parameters and return values)."
접근 방법 2
Use Multi-Byte Character Set으로 두고, 폴더 내 파일 목록 출력하는 FindFirstFile
함수와 get_files_in_floder
함수 자체를 수정한다. (API 문서 참고 : Listing the Files in a Directory)
- 결론 : 일단 성공!
이건 특정 쓰레드가 완전히 종료가 되지 않았는데 전체 프로그램이 종료가 되었을 때 발생하는 오류.
(OpenCV error..! 위와 다른 에러 ==> Overlay
함수에서 at
함수 문제)
TCHAR -> String 등 path 문제는 clear! (combpath_str
)