请教大仙 删除问题
删除函数如下,我的从配置档里面读到需要删除的路径,只有路径里面包含“-”这个字符的时候就不能删除,请问大仙怎么解决?
不能删除的路劲是C:\Program Files\NuStreams\APMPT3-v3.1b003\config\NewModel\log
只要把-去掉就可以删除C:\Program Files\NuStreams\APMPT3v3.1b003\config\NewModel\log
我的加-的路径可以找得到,并且ShellExecute可以打开。
对于-的处理,是不是需要加转义符?
if(!DirectoryExists(logpath))
{
ShowMessage("文件夹找不到");
}
ShellExecute(NULL, "open", logpath.c_str(), NULL, NULL, SW_SHOWNORMAL);
bool MyDeleteFiles(AnsiString FromFile)
{
SHFILEOPSTRUCT op;
op.hwnd = NULL;
op.wFunc = FO_DELETE;
op.pFrom = FromFile.c_str();
op.pTo = NULL;
op.fFlags = FOF_NOCONFIRMATION;
int result = ::SHFileOperation(&op);
return (result == 0) ? true : false;
}
请大仙赐教
[解决办法]
// bcb onlybool myDeleteFile(const AnsiString &fileName){ bool ok = false; if (fileName.pos("-") > 0) ok = DeleteFile(fileName); return ok;}
[解决办法]
直接用c语言的FileDelete删除