vc 重命名文件报错问题

绿色盒子 2018-09-14 03:56:18
使用的是下面的代码

try
{
CFile::Rename(strSrc, strNew);
}
catch(CFileException* pEx )
{
nRet=pEx->m_cause;
TRACE(_T("File %20s not found, cause =%d\n"), strSrc,pEx->m_cause);
pEx->Delete();
}

调用代码

for (int i=0;i<Files.size();i++)
{
CString str;str.Format(_T("%d"),i);
CString pNewName=FilePathstr+m_prefix+str+_T(".")+m_fileex;//FilePathstr是路径 m_prefix是前缀 str是编号 m_fileex是扩展名
FileFlase=RenameFile(Files[idx[i]], pNewName);
}

如代码所示前缀和编号构成新的文件名
正常使用没有问题,但是在只有编号(也就是str)改变,其他不改变是会报错pEx->m_cause=5。MSDN上说是无法访问该文件
但是如果把前缀(m_prefix)也改变的话就不会报错,正常运行。
...全文
212 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

15,440

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧