6 个解决方案
#1
曲线救国,嘻嘻
先CopyFileTo(),再FileDelete()
先CopyFileTo(),再FileDelete()
#2
BOOL MoveDir(LPTSTR SouDir, LPTSTR DesDir)
{
AnsiString SouStr;
AnsiString DesStr;
SHFILEOPSTRUCT sfo;
memset(&sfo, 0, sizeof(sfo));
SouStr = SouDir; SouStr += '\0';
DesStr = DesDir; DesStr += '\0';
lpfile.wFunc = FO_MOVE;
lpfile.pFrom = SouStr.c_str();
lpfile.pTo = DesStr.c_str() ;
return SHFileOperation(&sfo);
}
{
AnsiString SouStr;
AnsiString DesStr;
SHFILEOPSTRUCT sfo;
memset(&sfo, 0, sizeof(sfo));
SouStr = SouDir; SouStr += '\0';
DesStr = DesDir; DesStr += '\0';
lpfile.wFunc = FO_MOVE;
lpfile.pFrom = SouStr.c_str();
lpfile.pTo = DesStr.c_str() ;
return SHFileOperation(&sfo);
}
#3
lpfile是什么类型?
#4
上面的lpfile,应该是sfo
#5
以上程序当两个目录都为根目录时程序正常,
例如:SouStr="D:\log.txt";
DesStr="E:\log.txt";
但当其中一个目录不是根目录时程序就出现警告:"无法复制log:文件名,目录名或卷标语法不正确."
例如:SouStr="D:\log.txt";
DesStr="E:\resource\log.txt"
应该如何解决?
例如:SouStr="D:\log.txt";
DesStr="E:\log.txt";
但当其中一个目录不是根目录时程序就出现警告:"无法复制log:文件名,目录名或卷标语法不正确."
例如:SouStr="D:\log.txt";
DesStr="E:\resource\log.txt"
应该如何解决?
#6
SouStr="D:\\log.txt";
DesStr="E:\\resource\\log.txt"
DesStr="E:\\resource\\log.txt"
#1
曲线救国,嘻嘻
先CopyFileTo(),再FileDelete()
先CopyFileTo(),再FileDelete()
#2
BOOL MoveDir(LPTSTR SouDir, LPTSTR DesDir)
{
AnsiString SouStr;
AnsiString DesStr;
SHFILEOPSTRUCT sfo;
memset(&sfo, 0, sizeof(sfo));
SouStr = SouDir; SouStr += '\0';
DesStr = DesDir; DesStr += '\0';
lpfile.wFunc = FO_MOVE;
lpfile.pFrom = SouStr.c_str();
lpfile.pTo = DesStr.c_str() ;
return SHFileOperation(&sfo);
}
{
AnsiString SouStr;
AnsiString DesStr;
SHFILEOPSTRUCT sfo;
memset(&sfo, 0, sizeof(sfo));
SouStr = SouDir; SouStr += '\0';
DesStr = DesDir; DesStr += '\0';
lpfile.wFunc = FO_MOVE;
lpfile.pFrom = SouStr.c_str();
lpfile.pTo = DesStr.c_str() ;
return SHFileOperation(&sfo);
}
#3
lpfile是什么类型?
#4
上面的lpfile,应该是sfo
#5
以上程序当两个目录都为根目录时程序正常,
例如:SouStr="D:\log.txt";
DesStr="E:\log.txt";
但当其中一个目录不是根目录时程序就出现警告:"无法复制log:文件名,目录名或卷标语法不正确."
例如:SouStr="D:\log.txt";
DesStr="E:\resource\log.txt"
应该如何解决?
例如:SouStr="D:\log.txt";
DesStr="E:\log.txt";
但当其中一个目录不是根目录时程序就出现警告:"无法复制log:文件名,目录名或卷标语法不正确."
例如:SouStr="D:\log.txt";
DesStr="E:\resource\log.txt"
应该如何解决?
#6
SouStr="D:\\log.txt";
DesStr="E:\\resource\\log.txt"
DesStr="E:\\resource\\log.txt"