[WinApi] FindFirstFile() - etc

0

Witam,
Mój problem jest następujący: chcę napisac program który bedzie eksplorował np podany katalog - nie chodzi mi o szukanie konkretnego pliku tylko o odczytanie wszystkich plików z podanego wcześniej katalogu. Z szukaniem pliku po nazwie zastosował bym FindFirstFile(), FindNextFile i strukture WIN32_FIND_DATA i teraz pytanie czy w tym przypadku też mam użyc tych funkcji czy może zastosowac coś innego. Jeśli mam zastosowac FindFirstFile() itd to co mam podac w lpFileName? nie moge podac pustego stringu bo na msdn pisze tak nie można. Prosze o jakieś sugestie/podpowiedzi.

Z góry dziękuje za odpowiedzi.

0

A jaką maskę podasz przy normalnym wyszukiwaniu plików?

0

Teraz mam innym problem: Otóż mam kod

#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
    string src, lpFile;
    cout<<"podaj sciezke: ";
    getline(cin, src);
    lpFile=src+"*.*";
    WIN32_FIND_DATA wfd;
    HANDLE h=FindFirstFile((LPCSTR)lpFile.c_str(), &wfd);
    if(wfd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)cout<<wfd.cFileName<<" <katalog>"<<endl;
    else cout<<wfd.cFileName<<endl;
    while(FindNextFile(h, &wfd) != 0)
    {
    if(wfd.dwFileAttributes==FILE_ATTRIBUTE_DIRECTORY)cout<<wfd.cFileName<<" <katalog>"<<endl;
    else cout<<wfd.cFileName<<endl;
    }
    FindClose(h);
    getchar();
    return 0;
}

i prosze o skompilowanie go i podanie ścieżki "C:\" (działa wporządku oprócz podawania która linia określa katalog) sprawdzam dwFileAtributes == FILE_ATTRIBUTE_DIRECTORY i dla program files, config.msi, resycled nie wyświetla mi w lini dopisku <katalog>
Prosze o podpowiedź z czym jest to zwiazane.

0

Każdy element systemu plików może flagi będące sumą atrybutów, testuj na obecność konkretnego atrybutu:

if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY != 0)
0

sory ze odkopuje tak stary watek ale dajac:
if(wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY != 0)

faktycznie pokazuje ze Program Files jest katalogiem ale takze inne co nie sa naprawde folderami, wie ktos co jeszcze mozna z tym zrobic ?

0

Stary, topic, ale mam pytanie dotyczące tego problemu. Dlaczego zamiast nazw plików pojawiają mi się coś ala ich adresy w pamięci? Np 0E34C

0

Może byś tak kod pokazał? Wróżką nie jestem.

0

jako nazwe pliku wpisz gwiazdkę (*)

1 użytkowników online, w tym zalogowanych: 0, gości: 1