1 文件拷贝
BOOL CopyFile(
LPCTSTR lpExistingFileName,
LPCTSTR lpNewFileName,
BOOL bFailIfExists
);
1.1 参数介绍
(1)lpExistingFileName:已存在的文件名字,即被复制的文件。
(2)lpNewFileName:复制后的文件名。
(3)bFailfExists:传入为TRUE时,如果文件存在则执行失败;传入为FLASE时,如果文件存在则重新生成文件将原来的文件覆盖掉,并执行成功。
1.2 返回值
如果执行成功则返回TRUE,如果执行失败则返回FALSE,导致错误的原因可以通过GetLastError获得。
1.3 函数应用
#include <windows.h>
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
BOOL bRet = FALSE;
/*
/ 复制文件操作
*/
bRet = CopyFile("E:\\Project\\04_test\\456.png", "E:\\Project\\05_test\\456.png", FALSE);
if(bRet)
{
MessageBox(NULL, "复制成功", "tip", MB_OK);
}
else
{
MessageBox(NULL, "复制失败", "tip", MB_OK);
}
return 0;
}
2 文件移动
BOOL MoveFile(
LPCTSTR lpExistingFileName,
LPCTSTR lpNewFileName
);
2.1 参数介绍
(1)lpExistingFileName:本地计算机上文件或目录的当前名称。
(2)lpNewFileName:文件或目录的新名称。新名称不能已存在。新文件可能位于不同的文件系统或驱动器上。新目录必须位于同一驱动器上。
2.2 返回值
如果函数成功,则返回值非零。
如果函数失败,则返回值为零。要获取扩展错误信息,请调用 GetLastError。
详解见https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-movefile
2.3 函数应用
#include <windows.h>
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
BOOL bRet = FALSE;
/*
/ 移动文件
*/
bRet = MoveFile("E:\\Project\\04_test\\456.png", "E:\\Project\\05_test\\789.png");
if(bRet)
{
MessageBox(NULL, "移动成功", "tip", MB_OK);
}
else
{
MessageBox(NULL, "移动失败", "tip", MB_OK);
}
return 0;
}
3 文件删除
BOOL DeleteFile(
LPCTSTR lpFileName
);
3.1 参数介绍
(1)lpFileName:要删除的文件名称。
3.2 返回值
如果函数成功,则返回值非零。
如果函数失败,则返回值为零 (0)。要获取扩展错误信息,请调用 GetLastError。
详细请见:https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-deletefile
3.3 函数应用
#include <windows.h>
using namespace std;
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd)
{
/*
/ 删除文件操作
*/
BOOL bRet = FALSE;
DWORD dwAttr = GetFileAttributes("E:\\Project\\05_test\\456.png");
if((dwAttr & FILE_ATTRIBUTE_READONLY) != 0) //如果文件为只读
{
SetFileAttributes("E:\\Project\\05_test\\456.png", dwAttr & (~FILE_ATTRIBUTE_READONLY));
}
bRet = DeleteFile("E:\\Project\\05_test\\456.png");
if(bRet)
{
MessageBox(NULL, "删除成功", "tip", MB_OK);
}
else
{
MessageBox(NULL, "删除失败", "tip", MB_OK);
}
return 0;
}