Sprawdzanie czy folder jest normalnym folderem
Ostatnio zmodyfikowano 2016-09-20 14:06
Cansisti Temat założony przez niniejszego użytkownika |
Sprawdzanie czy folder jest normalnym folderem » 2016-09-19 22:20:50 Używam takiej instrukcji żeby otrzymać wszystkie pliki i foldery w podanej ścieżce: DIR * dir; dirent * pdir; vector < string > files; if( !IsDirectory( path ) ) return files;
dir = opendir( path.c_str() );
while(( pdir = readdir( dir ) ) ) { files.push_back( pdir->d_name ); }
Dostaję mniej więcej taką listę: C:/Users/Tomasz/Documents/Adobe C:/Users/Tomasz/Documents/Blender C:/Users/Tomasz/Documents/desktop.ini C:/Users/Tomasz/Documents/Logs C:/Users/Tomasz/Documents/Moja muzyka C:/Users/Tomasz/Documents/Moje obrazy C:/Users/Tomasz/Documents/Moje wideo C:/Users/Tomasz/Documents/netscan.xml C:/Users/Tomasz/Documents/Notes C:/Users/Tomasz/Documents/RegBUp
Problem w tym, że C:/Users/Tomasz/Documents/Moja muzyka C:/Users/Tomasz/Documents/Moje obrazy C:/Users/Tomasz/Documents/Moje wideo
Nie są faktycznymi folderami, przez co program później wywala błąd. Da się jakoś sprawdzić wcześniej, czy podana ścieżka jest prawdziwym folderem? (A nie wymysłem Windowsa?) |
|
pekfos |
» 2016-09-19 22:40:19 A co na to IsDirectory(), albo pdir->d_type, jeśli jest? |
|
Cansisti Temat założony przez niniejszego użytkownika |
» 2016-09-20 14:06:54 IsDirectory() zwracało true, ale zmodyfikowałem funkcję tak, żeby poza sprawdzaniem czy folder istnieje próbowała go jeszcze odczytać - teraz poprawnie rozpoznaje foldery. |
|
« 1 » |