Windows API一日一練(51)CreateDirectory和RemoveDirectory函數

來源:互聯網
上載者:User

在資訊爆炸的年代裡,把各種資訊分類已經是一種非常必要的功能,比如把股票行情資料儲存到硬碟裡,就需要分開幾個目錄儲存。比如你寫LOG到硬碟時,也需要分成幾個目錄來儲存,這樣讓維護人員很好地找到出錯的資訊,或者有用的資訊。像我在開發銀行的信用卡系統時,就需要把所有通過網路傳送的資料全部產生文字檔儲存到當日的目錄裡,也就是說每天都需要建立一個目錄,把所有交易的資料產生LOG儲存進去。那麼面對這樣的需求,你是怎麼樣去建立目錄的呢?這就需要使用到Windows API函數CreateDirectory建立目錄,當然目錄過多時也需要調用函數RemoveDirectory來刪除不需要的目錄,然而函數RemoveDirectory只能刪除空的目錄,也就是目錄下沒有檔案和子目錄才能刪除。
 
函數CreateDirectory和RemoveDirectory聲明如下:
 
WINBASEAPI
BOOL
WINAPI
CreateDirectoryA(
    __in     LPCSTR lpPathName,
    __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
    );
WINBASEAPI
BOOL
WINAPI
CreateDirectoryW(
    __in     LPCWSTR lpPathName,
    __in_opt LPSECURITY_ATTRIBUTES lpSecurityAttributes
    );
#ifdef UNICODE
#define CreateDirectory CreateDirectoryW
#else
#define CreateDirectory CreateDirectoryA
#endif // !UNICODE
 
WINBASEAPI
BOOL
WINAPI
RemoveDirectoryA(
    __in LPCSTR lpPathName
    );
WINBASEAPI
BOOL
WINAPI
RemoveDirectoryW(
    __in LPCWSTR lpPathName
    );
#ifdef UNICODE
#define RemoveDirectory RemoveDirectoryW
#else
#define RemoveDirectory RemoveDirectoryA
#endif // !UNICODE
 
lpPathName是目錄的路徑。
lpSecurityAttributes是目錄的安全屬性。
傳回值是執行是否成功。
 
調用函數的例子如下:
#001 //建立目錄。
#002               //蔡軍生 2007/10/16 QQ:9073204 深圳
#003               std::wstring strDir(_T("c:\\log"));
#004               if (!CreateDirectory(strDir.c_str(),NULL))
#005               {
#006                    OutputDebugString(_T("建立目錄不成功\r\n"));                        
#007 
#008               }
#009               else
#010               {
#011                    //刪除空目錄。
#012                    RemoveDirectory(strDir.c_str());
#013               }
#014

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/caimouse/archive/2007/10/16/1828185.aspx

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.