Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - gestire dir con api win32 in c
Forum - C/C++ - gestire dir con api win32 in c

Avatar
c_programmer (Normal User)
Newbie


Messaggi: 14
Iscritto: 27/12/2009

Segnala al moderatore
Postato alle 19:15
Venerdì, 26/02/2010
non capisco come posso leggere file in una dir dopo aver ottenuto l'HANDLE con CreateFile..

vorrei qualcosa del tipo :

Codice sorgente - presumibilmente C/C++

  1. struct dirent* d = readdir(dir);



come su UNIX ...
:k:

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 19:34
Venerdì, 26/02/2010
Usa le API FindFirstFile e FindNextFile


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
c_programmer (Normal User)
Newbie


Messaggi: 14
Iscritto: 27/12/2009

Segnala al moderatore
Postato alle 20:17
Venerdì, 26/02/2010
tipo :

Codice sorgente - presumibilmente Plain Text

  1. handle = FindFirsFile("C:\windows\*", &data);



?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 20:25
Venerdì, 26/02/2010
Testo quotato

Postato originariamente da c_programmer:

tipo :

Codice sorgente - presumibilmente Plain Text

  1. handle = FindFirsFile("C:\windows\*", &data);



?



Dove l'hai trovato questo codice? Cosa è data? Nelle costanti \ va raddoppiato ...


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
c_programmer (Normal User)
Newbie


Messaggi: 14
Iscritto: 27/12/2009

Segnala al moderatore
Postato alle 20:48
Venerdì, 26/02/2010
era un esempio :

Codice sorgente - presumibilmente Plain Text

  1. WIN32_FIND_DATA data;
  2. HANDLE handle;
  3. handle = FindFirsFile("C:\\windows\\*", &data);
  4. handle = FindNextFile("C:\\windows\\*", &data);



si è vero che \ va raddopiato... ma ho scritto questa riga velocemente... solo per far capire il concetto... non  mi sono preoccupato troppo della sintassi ...

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:09
Venerdì, 26/02/2010
Non ti preoccupi della sintassi ma neanche del modo con cui si utilizzano quelle API ...

Quando hai un suggerimento su cosa usare, consulta la documentazione in merito ... ad esempio, per la FindFirstFile (che fra l'altro non hai scritto correttamente) leggi questo

http://msdn.microsoft.com/en-us/library/aa364418(VS.85).aspx


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
c_programmer (Normal User)
Newbie


Messaggi: 14
Iscritto: 27/12/2009

Segnala al moderatore
Postato alle 14:20
Sabato, 27/02/2010
grazie mille ... :) un'altra domanda... dato che FinFirstFile restituisce un tipo HANDLE come posso trasformarlo in un tipo FILE(lo so che è una macro) per renderlo utilizzabile dalle funzioni del c ?


;):-?

PM Quote
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6403
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 21:22
Sabato, 27/02/2010
Ma non devi trasformare l'HANDLE in FILE ... cosa c'entra ? Hai letto la documentazione?

Come usi la FindFirstFile ?


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote