GetCurrentDirectory等檔案夾操作函數,以及MessageBox資訊函數

來源:互聯網
上載者:User

(1)函數說明

      我們很多時候需要在一個目錄下添加一個檔案下或者刪除一個檔案夾。需要用到的API是:

擷取目前的目錄的絕對路徑:

DWORD GetCurrentDirectory( DWORD nBufferLength, LPSTR lpBuffer );

建立特定目錄下的某檔案夾:

BOOL CreateDirectory( LPCSTR lpPathName, LPSECURITY_ATTRIBUTES lpSecurityAttributes    );

刪除特定目錄下的某檔案夾:

BOOL RemoveDirectoryA( LPCSTR lpPathName );

       其中lpBuffer 是儲存字串路徑的緩衝區,nBufferLength是緩衝區長度;lpPathName是絕對路徑的字串,lpSecurityAttributes是建立檔案夾的安全屬性,可設為NULL。

      另有目錄下檔案的操作函數:

刪除檔案,lpFileName是檔案路徑:

BOOL WINAPI DeleteFile(__in  LPCTSTR lpFileName);

移動檔案,前參數是源檔案路徑,後參數是目的檔案路徑:

BOOL WINAPI MoveFile(__in  LPCTSTR lpExistingFileName,  __in  LPCTSTR lpNewFileName);
複製檔案,參數同上一樣,bFailIfExists標示目標檔案是否存在:

BOOL WINAPI CopyFile(__in  LPCTSTR lpExistingFileName, __in  LPCTSTR lpNewFileName, __in  BOOL bFailIfExists);
(2)執行個體    

      方法是設定一個EditBox控制項,按CTRL+W為該控制項添加兩個成員變數,一個是CString變數name,另一個是CEdit變數m_name。另設定兩個按鈕,一個是建立,一個是刪除。兩個按鈕的作業碼如下:

void CWin32applicationDlg::OnCreate()
{
     char Buf[256];                                //定義路徑儲存緩衝區
     ::GetCurrentDirectory(256,Buf);     //獲得絕對路徑,並儲存在Buf
     m_name.GetWindowText(name);  //擷取編輯框中的字串,即檔案夾名字並儲存在name

     strcat(Buf,"//");                              //在路徑後追加/
     strcat(Buf,name);                           //在路徑後追加檔案夾名,成完整絕對路徑
     if(CreateDirectory(Buf,NULL))         //如果建立成功
    {
           MessageBox("檔案夾建立成功");
           return;
     }
}

void CWin32applicationDlg::OnDelete()
{
     char Buf[256];
     ::GetCurrentDirectory(256,Buf);   
     m_name.GetWindowText(name);
     strcat(Buf,"//");
     strcat(Buf,name);
     if(RemoveDirectory(Buf))                 //如果刪除成功
    {
         MessageBox("檔案夾刪除成功");
         return;
     }
}

(3)關於資訊輸出調試函數MessageBox。它帶參數可以帶char*的字串,也可以直接帶CString類型變數。如果想像printf那樣輸出數值資訊,採用如下方式:

 int   k=3;
 CString   s;
 s.Format("%d",k);
 MessageBox(s);

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.