|
여기에 올라온 알고리즘을 쓰고있는데...
애해가 가지 않는 부분이 있어서..물어봅니다..
다른것은 알겠는데...
아래 부분은 이해가 가지 않네요..
답변좀 부탁드립니다..
특히 이부분
if(*sr.Name.c_str() != '.')
작성자 : Julien (julien) 읽음 : 180 2003-05-30 오후 6:25:52
서브디렉토리들까지 주욱 스캔하는 예제에 대한 질문이 가끔씩 올라오는 것 같아 하나 만들어봤습니다.
recursive로 디렉토리를 스캔해서 Memo에 붙이는 예제입니다.
Memo에 add하는 부분을 파일을 이동하는 것으로 수정해 보세요.
그럼 원하는 것을 얻을 수 있습니다.
참고로 아시겠지만 디렉토리를 삭제할 때는 안에 있는 파일부터 지워야합니다.
void __fastcall TForm1::DirRecursiveScan(String path)
{
try
{
if(String(path.AnsiLastChar()) != "\\") path += "\\";
String fpath;
TSearchRec sr;
int Found = FindFirst(path + "*.*", faArchive | faDirectory, sr);
while(Found == 0)
{
fpath = path + sr.Name; / /*
if(*sr.Name.c_str() != '.')
{
if(DirectoryExists(fpath)) DirRecursiveScan(fpath); *//
else Memo1->Lines->Add(fpath);
}
Found = FindNext(sr);
}
FindClose(sr);
}
catch(Exception *e)
{
throw e;
}
}
|