ある種のスキャンを実行する必要があります。最初の部分を実行しました。プログラムは、通知されたディレクトリをスキャンし、他のディレクトリからファイルを分離しますが、他のディレクトリもスキャンする必要があります。私のコードを見てください。
void CompleteScan(const char root[], WCHAR *Extension,std::vector<FileStruct> &Return_Files,std::vector<WIN32_FIND_DATA> &Return_Directorys){
std::vector<FileStruct> files;
std::vector<WIN32_FIND_DATA> dir;
Scan(root, Extension, files, dir);
if(dir.size() > 0){
for(int i = 0; i < dir.size(); i++){
/* Here is directory by directory scan */
}
}
コマンド Scan は、FileStruct (ディレクトリと WIN32_FIND_DATA) のベクトルとディレクトリのベクトルを返しますが、すべてのディレクトリをスキャンする必要があります。例:
「C:\」プログラムはこれをスキャンし、「C:\」上のすべてのディレクトリを返します。このすべてのディレクトリをスキャンする前に、「C:\」上のすべてのディレクトリをスキャンするために何をしなければならないかわかりません。 :\" ディレクトリ、たとえば次のリストを見てください。
- C:\{OK}
- C:\ファイル{OK}
- C:\Files\First File {できません}
- C:\Files\First File\Second File {できません}