mfc文件重命名

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013183287/article/details/79473687
BOOL CDlg::RenameFile(CString strSrc, CString strNew)
{
if (strSrc.IsEmpty() || strNew.IsEmpty())
return FALSE;


if (!PathFileExists(strSrc))
{
AfxMessageBox(NCLoadString(_T("文件或目录不存在.")));
return FALSE;
}
TCHAR szSrc[MAX_PATH] = { 0 };
TCHAR szDesc[MAX_PATH] = { 0 };
lstrcpy(szSrc, strSrc);
lstrcpy(szDesc, strNew);


SHFILEOPSTRUCT FileOp = { 0 };
FileOp.fFlags = 0;
FileOp.pFrom = szSrc;
FileOp.pTo = szDesc;
FileOp.wFunc = FO_RENAME;


int nRet = SHFileOperation(&FileOp);
return nRet == 0;

}


主要用到SHFileOperation函数,参数是一个SHFILEOPSTRUCT 结构体

wFunc 是结构中的一个非常重要的成员,它代表着函数将要进行的操作类型,它的取值为如下:
  FO_COPY: 拷贝文件pFrom到pTo 的指定位置。
  FO_RENAME: 将pFrom的文件名更名为pTo的文件名。
  FO_MOVE: 将pFrom的文件移动到pTo的地方。
  FO_DELETE:删除pFrom指定的文件。



猜你喜欢

转载自blog.csdn.net/u013183287/article/details/79473687