Single post

mfc findfile 예제

GetFileName 확장명을 포함 하 여 파일 이름을 반환 합니다. 예를 들어 GetFileName을 호출하여 파일 c:myhtmlmyfile.txt에 대한 사용자 메시지를 생성하면 파일 이름 myfile.txt가 반환됩니다. 예제를 단순하게 유지하기 위해 이 코드는 C++ 표준 라이브러리 cout 클래스를 사용합니다. 예를 들어 그래픽 사용자 인터페이스가 있는 프로그램에서 clistBox::AddString에 대한 호출로 cout 줄을 대체할 수 있습니다. 이 멤버 함수는 검색을 시작하는 데 사용되는 드라이브 지정기 및 경로 이름을 반환합니다. 예를 들어 ,*.dat를 통해 FindFile을 호출하면 GetRoot가 빈 문자열을 반환합니다. 패스를 전달, c:windowssystem*.dll, FindFile 결과 GetRoot 반환 c:windows시스템. 파일과 디렉터리 검색은 프로그래머로서 많은 프로젝트에서 해야 할 일입니다. 나는 항상 이 점에서 내 인생을 더 쉽게 만들기 위해 누군가가 쓴 무언가가 있어야한다고 생각했다.

나는 주위를 둘러보는 것을 많이했지만 내가 찾은 대부분의 것들은 VS 및 MFC와 같은 특정 IDE에 종속성을 가지고 있습니다. 그래서, 나는 내 자신의 쓰기로 결정, 그것은 IDE 독립적으로 만들고 몇 가지 유용한 기능을 추가. FindFile, 내 노력의 결과입니다. 이 예제에서는 PDF 또는 DOC 확장자가 없고 “CSE”로 시작하거나 “53”을 포함하는 하위 디렉터리에서 파일을 검색하지 않는 디렉터리 “C:School”의 모든 파일을 재귀적으로 검색합니다. 다음 예제에서는 특정 폴더에서 파일을 찾는 방법을 보여 주실 수 있습니다. 이 예제는 파일을 재귀적으로 찾는 데도 유용합니다. 예를 들어 다음 함수 호출은 C의 모든 파일을 보여 주며: 드라이브 재귀: FindFile을 사용하는 프로그램의 예: 호출이 수행되는 순간까지 발견된 항목의 수 또는 마지막 찾기 또는 FindFiles 작업에서 발견된 파일의 합계를 반환합니다. . . WIN32_FIND_DATA 구조에서 식별된 파일 특성인 FILE_ATTRIBUTE_HIDDEN으로 표시된 숨겨진 파일입니다.

숨겨진 파일은 일반 디렉터리 목록에 포함되지 않습니다. 검색 핸들의 현재 값으로 지정된 파일을 닫습니다. 이 함수를 재정의하여 기본 동작을 변경합니다. 모든 파일 시스템이 동일한 의미 체계를 사용하여 이 함수에서 반환되는 타임스탬프를 구현하는 것은 아닙니다. 이 함수는 기본 파일 시스템 또는 서버가 시간 특성 유지를 지원하지 않는 경우 다른 타임스탬프 함수에서 반환하는 동일한 값을 반환할 수 있습니다. 시간 형식에 대한 자세한 내용은 Win32_FIND_DATA 구조를 참조하십시오. 일부 운영 시스템에서 반환된 시간은 파일이 위치한 컴퓨터에 로컬 표준 시간대에 있습니다. 자세한 내용은 Win32 FileTimeToLocalFileTime API를 참조하십시오. . 확장에 관계없이 폴더에서 모든 파일을 얻으려면 *.* 필터로 사용하십시오. Close를 호출한 후에는 FindFile을 호출하여 새 검색을 시작하기 전에 새 CFileFind 인스턴스를 만들 필요가 없습니다. 폴더/디렉터리에서 파일을 찾고 검색하는 방법에는 두 가지가 있습니다.