void CopyDirectory( AnsiString Dest, AnsiString Source )
//Dest & Source must be end with '//' and Exist!
{
TSearchRec TSR;
if ( !FindFirst( Source + "*.*", faAnyFile, TSR ) )
{
do
{
if ( TSR.Attr & faDirectory )
{
if ( TSR.Name != "." && TSR.Name != ".." )
{
CreateDir( Dest+TSR.Name+"/" );
CopyDirectory( Dest+TSR.Name+"/", Source+TSR.Name+"/" );
}
}
else
CopyFile( (Source+TSR.Name).c_str(), (Dest+TSR.Name).c_str(), false );
}
while( !FindNext( TSR ) );
FindClose( TSR );
}
}
//Dest & Source must be end with '//' and Exist!
{
TSearchRec TSR;
if ( !FindFirst( Source + "*.*", faAnyFile, TSR ) )
{
do
{
if ( TSR.Attr & faDirectory )
{
if ( TSR.Name != "." && TSR.Name != ".." )
{
CreateDir( Dest+TSR.Name+"/" );
CopyDirectory( Dest+TSR.Name+"/", Source+TSR.Name+"/" );
}
}
else
CopyFile( (Source+TSR.Name).c_str(), (Dest+TSR.Name).c_str(), false );
}
while( !FindNext( TSR ) );
FindClose( TSR );
}
}
本文介绍了一个用于递归复制文件夹的 C++ 函数实现。该函数通过递归调用自身来复制源目录及其子目录到目标目录,并确保所有文件及子文件夹都被正确复制。
&spm=1001.2101.3001.5002&articleId=1841883&d=1&t=3&u=284f41275f024e9297cb231c4cd954c9)
4213

被折叠的 条评论
为什么被折叠?



