Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 넬로넴다즈
- WTI
- 기업분석
- WTI유
- 경제위기
- 머신러닝
- 마법공식
- 중국경제
- prometheus
- 아모레퍼시픽
- 중국증시
- 스크리닝
- 유상증자
- 주가분석
- 뉴지스탁
- 금리인상
- DSP
- 퀀트
- FOMC
- 반려견치매
- 엘론 머스크
- 코로나19
- 주식투자
- 테슬라
- 뇌졸중
- 국제유가
- 지엔티파마
- Python
- 미국금리
- 제다큐어
Archives
- Today
- Total
Data Analysis for Investment & Control
[C++/STL] 디렉토리 내 파일 리스트 얻어오는 함수 본문
반응형
C#에서는 Sytem.IO의 Directory 클래스를 이용해 특정 경로 내의 파일 리스트를 쉽게 얻어 올 수 있다.
하지만, C++에서는 어떻게 얻어올까 구글링을 하다가 dirent.h를 활용하는 방법 등 몇 가지 코드를 찾을 수가 있었는데, 그 중 가장 직관적인 방법을 정리하도록 한다.
함수를 사용하려면 다음을 추가한다.
#include <Windows.h>
#include <string>
#include <vector>
[Header]
typedef std::wstring str_t;
vector<str_t> get_files_in_folder(str_t folder, str_t file_type = L "*.*");
[Source]
vector<str_t> get_files_in_folder(str_t folder, str_t file_type)
{
vector<str_t> names;
wchar_t search_path[200];
wsprintf(search_path, L "%s/%s", folder.c_str(), file_type.c_str());
WIN32_FIND_DATA fd;
HANDLE hFind = ::FindFirstFile(search_path, &fd);
if(hFind != INVALID_HANDLE_VALUE) {
do {
// read all (real) files in current folder
// , delete '!' read other 2 default folder . and ..
if(! (fd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) ) {
names.push_back(fd.cFileName);
}
} while(::FindNextFile(hFind, &fd));
::FindClose(hFind);
}
return names;
}
경로와 찾고자 하는 파일의 확장자를 인자로 넣어주면, 경로 내의 파일 리스트를 vector 형태로 반환한다.
(내용이 마음에 드셨다면 아래의 '공감' 버튼을 눌러주세요^^)
반응형
'Code > C++:C#:MFC' 카테고리의 다른 글
[C#] ConfigurationManager를 이용한 프로그램 속성 정보 저장/불러오기 기능 구현 (0) | 2016.01.13 |
---|---|
[C++/MFC] 프로그램 실행 파일(*.exe)의 경로를 얻어오는 함수 (0) | 2016.01.13 |
[Tip] DLL에서 다이얼로그 사용 시, 다이얼로그 창이 뜨지 않는 문제 (0) | 2015.05.18 |
[Tip] LPCWSTR(유니코드) <-> LPCSTR(멀티바이트) 쉽게 변환하기 (0) | 2015.05.18 |
C++ dll의 CLR 프로젝트(C++/CLI)의 사용(3) (0) | 2014.04.20 |
Comments