Windows API一日一練(57)CopyFile和MoveFile函數
來源:互聯網
上載者:User
在資訊的社會裡,共用資訊是非常重要的。比如你有一個很好的相片,要拷給朋友去分享。又或者你在寫一些比較重要的資料,要進行不定時備份時,也就需要拷貝檔案到不同的目錄裡。這樣就需要使用到函數CopyFile來拷貝檔案,它能夠把一份檔案拷貝多一份出來。我在開發一個資料擷取的軟體裡,由於這個軟體是可以不同的使用者共同使用,使用者跟我說有這樣的需求,就是不同的使用者的資料移動到不同的目錄裡,這樣方便他們管理資料,也方便他們在上千個檔案裡找到自己有用的檔案,而不會與別人的檔案混在一起,這樣就需要把採集資料完成後把檔案移到相應的目錄,這樣就需要使用函數MoveFile來移動檔案。 函數CopyFile和MoveFile聲明如下: WINBASEAPIBOOLWINAPICopyFileA( __in LPCSTR lpExistingFileName, __in LPCSTR lpNewFileName, __in BOOL bFailIfExists );WINBASEAPIBOOLWINAPICopyFileW( __in LPCWSTR lpExistingFileName, __in LPCWSTR lpNewFileName, __in BOOL bFailIfExists );#ifdef UNICODE#define CopyFile CopyFileW#else#define CopyFile CopyFileA#endif // !UNICODE WINBASEAPIBOOLWINAPIMoveFileA( __in LPCSTR lpExistingFileName, __in LPCSTR lpNewFileName );WINBASEAPIBOOLWINAPIMoveFileW( __in LPCWSTR lpExistingFileName, __in LPCWSTR lpNewFileName );#ifdef UNICODE#define MoveFile MoveFileW#else#define MoveFile MoveFileA#endif // !UNICODE 調用函數的例子如下:#001 //拷貝和移動檔案。#002 //蔡軍生 2007/10/24 QQ:9073204 深圳#003 void CopyAndMoveFile(void)#004 {#005 //拷貝檔案。#006 BOOL bRes = ::CopyFile(_T("CreateFileDemo.txt"),#007 _T("CreateFileDemo_New.txt"),FALSE);#008 if (bRes)#009 {#010 //#011 OutputDebugString(_T("拷貝檔案成功!\r\n"));#012 }#013 #014 //移動檔案。#015 bRes = ::MoveFile(_T("CreateFileDemo.txt"),#016 _T(".\\Debug\\CreateFileDemo.txt"));#017 if (bRes)#018 {#019 //#020 OutputDebugString(_T("移動檔案成功!\r\n"));#021 }#022 }#023