목록C++ (2)
Data Analysis for Investment & Control
프로그램을 구현하다보면, 각종 설정파일이나 dll 파일들의 프로젝트의 기본출력 경로인 실행파일 폴더에 같이 놓아야 하는 경우가 종종있다. 이 경우 해당 경로를 얻어와야 하는 일이 가끔 생기고는 하는데, 이를 얻어오는 함수를 정리하고자 한다. ATL의 CString 클래스를 사용하여 다음과 같이 구현한다. CString get_exe_path() { CString strPath; GetModuleFileName(NULL, strPath.GetBuffer(MAX_PATH), MAX_PATH); strPath.ReleaseBuffer(); return strPath.Left(strPath.ReverseFind('\\' )+1); } 물론 CString 대신에 char 배열을 사용할 수도 있을 것이다.
C#에서는 Sytem.IO의 Directory 클래스를 이용해 특정 경로 내의 파일 리스트를 쉽게 얻어 올 수 있다. 하지만, C++에서는 어떻게 얻어올까 구글링을 하다가 dirent.h를 활용하는 방법 등 몇 가지 코드를 찾을 수가 있었는데, 그 중 가장 직관적인 방법을 정리하도록 한다. 함수를 사용하려면 다음을 추가한다. #include #include #include [Header] typedef std::wstring str_t; vector get_files_in_folder(str_t folder, str_t file_type = L "*.*"); [Source] vector get_files_in_folder(str_t folder, str_t file_type) { vector names;..