Windows API一日一练(57)CopyFile和MoveFile函数

在信息的社会里,共享信息是非常重要的。比如你有一个很好的相片,要拷给朋友去分享。又或者你在写一些比较重要的数据,要进行不定时备份时,也就需要拷贝文件到不同的目录里。这样就需要使用到函数 CopyFile 来拷贝文件,它能够把一份文件拷贝多一份出来。我在开发一个数据采集的软件里,由于这个软件是可以不同的用户共同使用,用户跟我说有这样的需求,就是不同的用户的数据移动到不同的目录里,这样方便他们管理数据,也方便他们在上千个文件里找到自己有用的文件,而不会与别人的文件混在一起,这样就需要把采集数据完成后把文件移到相应的目录,这样就需要使用函数 MoveFile 来移动文件。
 
函数 CopyFile MoveFile 声明如下:
 
WINBASEAPI
BOOL
WINAPI
CopyFileA(
    __in LPCSTR lpExistingFileName,
    __in LPCSTR lpNewFileName,
    __in BOOL bFailIfExists
    );
WINBASEAPI
BOOL
WINAPI
CopyFileW(
    __in LPCWSTR lpExistingFileName,
    __in LPCWSTR lpNewFileName,
    __in BOOL bFailIfExists
    );
#ifdef UNICODE
#define CopyFile CopyFileW
#else
#define CopyFile CopyFileA
#endif // !UNICODE
 
 
WINBASEAPI
BOOL
WINAPI
MoveFileA(
    __in LPCSTR lpExistingFileName,
    __in LPCSTR lpNewFileName
    );
WINBASEAPI
BOOL
WINAPI
MoveFileW(
    __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 
 

你可能感兴趣的:(windows)