ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [MFC] 파일 삭제 하기
    MFC/Visual C++ 2008 2020. 11. 6. 15:41
    반응형

    CFileFind 클래스

     : CFileFind에는 검색을 시작하고, 파일을 찾고, 파일의 제목, 이름 또는 경로를 반환하는 멤버 함수가 포함된다.

      인터넷 검색의 경우 멤버 함수 GetFileURL이 파일의 URL을 반환한다.

     

    MSDN :

    https://docs.microsoft.com/ko-kr/cpp/mfc/reference/cfilefind-class?view=msvc-160

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    class CFileFind : public CObject
    {
    public:
        CFileFind();
        virtual ~CFileFind();
    // Attributes
    public:
        ULONGLONG GetLength() const;
        virtual CString GetFileName() const;
        virtual CString GetFilePath() const;
        virtual CString GetFileTitle() const;
        virtual CString GetFileURL() const;
        virtual CString GetRoot() const;
        virtual BOOL GetLastWriteTime(FILETIME* pTimeStamp) const;
        virtual BOOL GetLastAccessTime(FILETIME* pTimeStamp) const;
        virtual BOOL GetCreationTime(FILETIME* pTimeStamp) const;
        virtual BOOL GetLastWriteTime(CTime& refTime) const;
        virtual BOOL GetLastAccessTime(CTime& refTime) const;
        virtual BOOL GetCreationTime(CTime& refTime) const;
        virtual BOOL MatchesMask(DWORD dwMask) const;
        virtual BOOL IsDots() const;
        // these aren't virtual because they all use MatchesMask(), which is
        BOOL IsReadOnly() const;
        BOOL IsDirectory() const;
        BOOL IsCompressed() const;
        BOOL IsSystem() const;
        BOOL IsHidden() const;
        BOOL IsTemporary() const;
        BOOL IsNormal() const;
        BOOL IsArchived() const;
    // Operations
        void Close();
        virtual BOOL FindFile(LPCTSTR pstrName = NULL, DWORD dwUnused = 0);
        virtual BOOL FindNextFile();
    protected:
        virtual void CloseContext();
    // Implementation
    protected:
        void* m_pFoundInfo;
        void* m_pNextInfo;
        HANDLE m_hContext;
        CString m_strRoot;
        TCHAR m_chDirSeparator;     // not '\\' for Internet classes
    #ifdef _DEBUG
        void Dump(CDumpContext& dc) const;
        void AssertValid() const;
    #endif
        DECLARE_DYNAMIC(CFileFind)
    };
    cs

    클래스는 afx.h 속에 위와 같이 정의 되어 있다.

    1
    2
    3
    virtual BOOL FindFile( 
        LPCTSTR pstrName = NULL, 
        DWORD dwUnused = 0);
    cs

    오늘 사용한 코드는 바로 위의 FindFile을 이용했습니다.

     

    pstrName
    찾을 파일의 이름을 포함하는 문자열에 대한 포인터입니다. pstrName에대해 NULL을 FindFile 전달하면 와일드카드(*.)*검색을 수행합니다.

     

    dwUnused
    파생 클래스를 사용하여 다형성을 만들기 FindFile 위해 예약되었습니다. 0이어야 합니다.

     

    Return Value

    성공하면 0이 아니고, 그렇지 않으면 0이다. 

     

     

     

    ---------------------------------------------------------------------------------------------------------

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    //Visual C++ 2008에서 실행
    CFileFind pFind;
        BOOL bRet = pFind.FindFile(_T("mytest2.dat"));
     
        if(bRet=TRUE)
        {
            if(DeleteFile(_T("mytest2.dat"))==TRUE)
            {
     
                printf("파일 삭제 성공\n");
            }
        }
    cs

     

    Visual C++ 2008에서 실행한 코드는 위와 같다. 

    위의 코드에서 "mytest2.dat"는 MFC 직렬화에서 이용한 dat 파일이다. 

    CFileFind 클래스의 객체를 생성해 주고 FindFile 메서드를 실행하여 bRet에 1 값을 반환받는다.

     

     

    728x90

    댓글

Designed by Tistory.