SHFileOperation CString到LPCTSTR的转换

来源:互联网 发布:手机淘宝5.7 编辑:程序博客网 时间:2024/06/05 05:13

上星期一一天都在整这个小问题,刚开始发现删除的文件怎么没有删除掉,还以为是删除的文件夹路径搞错了,查了半天确实是有一些地方是错的。但是对的也没有删掉。所以就赶紧看SHFileOperation的操作,结果发现pFrom里面已经赋值了,应该是对的。调试也发现里面是对的。但是还是删不掉。最后发现最后两位不是/0/0结尾的。正确的使用方式如下:

  SHFILEOPSTRUCT fileStruct;
  fileStruct.hwnd=NULL;
  CString strTemp=strPathName+_T("OrgVideo//*.*/0/0");
  TCHAR chPath[MAX_PATH];
  wcscpy_s(chPath, strTemp);
  chPath[wcslen(chPath) + 1] = 0;
  fileStruct.pFrom=chPath;

 

其原因是一位仁兄解释的,wcscpy_s函数是遇到/0结尾的,所以赋值到chPath里面的内容已经不带/0了,所以导致删除不掉。关键是一句就是

chPath[wcslen(chPath) + 1] = 0;。

原创粉丝点击