Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio
Grazie ad un mocio rotante che viene costantemente bagnato e pulito, Narwal Flow assicura un completo e capillare lavaggio dei pavimenti di casa. La logica di intellignza artificiale integrata guida nella pulizia tra i diversi locali, sfruttando un motore di aspirazione molto potente e un sistema basculante per la spazzola molto efficace sui tappeti di casa
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi
Con un prezzo di 2.999 euro, il Panasonic Z95BEG entra nella fascia ultra-premium dei TV OLED: pannello Primary RGB Tandem, sistema di raffreddamento ThermalFlow, audio Technics integrato e funzioni gaming avanzate lo pongono come un punto di riferimento
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione
Abbiamo provato per diverse settimane il nuovo Magic V5 di HONOR, uno smartphone pieghevole che ci ha davvero stupito. Il device è il più sottile (solo 4.1mm) ma non gli manca praticamente nulla. Potenza garantita dallo Snapdragon 8 Elite, fotocamere di ottima qualità e batteria in silicio-carbonio che garantisce un'ottima autonomia. E il Prezzo? Vi diciamo tutto nella nostra recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-01-2005, 20:07   #1
kmox
Junior Member
 
L'Avatar di kmox
 
Iscritto dal: Jan 2005
Messaggi: 13
[C] Elenco file di una directory W32

CIAO

Come faccio ad ottenere l'elenco dei soli file o delle sole sottocartelle di una determinata directory?

Uso C sotto Windows.
kmox è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 20:34   #2
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
devi usare le api di windows, guarda qui:

http://msdn.microsoft.com/library/de..._functions.asp
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 21:24   #3
kmox
Junior Member
 
L'Avatar di kmox
 
Iscritto dal: Jan 2005
Messaggi: 13
Ok anch'io avevo visto quello solo che non riesco ad utilizzarlo, così dovrebbe essere giusto ma non mi conta solo le directory ma anche i file!

Codice PHP:
//Restituisce il numero di sottocartelle di una cartella data
//va richiamato ContaCartelle("C:\\Percorso\\*")
int ContaCartellecharpercorsoRadice )
{
    
int risultato 0;
    
WIN32_FIND_DATA FindFileData;
    
HANDLE hFind INVALID_HANDLE_VALUE;

    
hFind FindFirstFilepercorsoRadice, &FindFileData );

    
//Se il file è valido cerco al suo interno le cartelle
       
if (hFind != INVALID_HANDLE_VALUE)
       {
        
//Finché esistono ancora files
          
while (FindNextFile(hFind, &FindFileData) != 0)
          {
            
//Se il file è una directory incremento il contatore
               
if ( GetFileAttributesFindFileData.cFileName ) & FILE_ATTRIBUTE_DIRECTORY )
            {
                
risultato++;
            }
          }

        
//Tolgo le due cartelle . e ..
        //-1 perche il primo file non l'avevo conteggiato
        
risultato--;

          
FindClose(hFind);

       }

       return 
risultato;
 } 
kmox è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 21:25   #4
kmox
Junior Member
 
L'Avatar di kmox
 
Iscritto dal: Jan 2005
Messaggi: 13
Per utilizzarlo va inclusa windows.h
kmox è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 21:50   #5
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
scusa ma non dovresti usare il dwFileAttributes al posto di cFileName??
Codice PHP:
//Restituisce il numero di sottocartelle di una cartella data
//va richiamato ContaCartelle("C:\\Percorso\\*")
int ContaCartellecharpercorsoRadice )
{
    
int risultato 0;
    
WIN32_FIND_DATA FindFileData;
    
HANDLE hFind INVALID_HANDLE_VALUE;

    
hFind FindFirstFilepercorsoRadice, &FindFileData );

    
//Se il file è valido cerco al suo interno le cartelle
       
if (hFind != INVALID_HANDLE_VALUE)
       {
        
//Finché esistono ancora files
          
while (FindNextFile(hFind, &FindFileData) != 0)
          {
            
//Se il file è una directory incremento il contatore
               
if ( GetFileAttributesFindFileData.dwFileAttributes ) & FILE_ATTRIBUTE_DIRECTORY )
            {
                
risultato++;
            }
          }

        
//Tolgo le due cartelle . e ..
        //-1 perche il primo file non l'avevo conteggiato
        
risultato--;

          
FindClose(hFind);

       }

       return 
risultato;
 } 
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 21:57   #6
kmox
Junior Member
 
L'Avatar di kmox
 
Iscritto dal: Jan 2005
Messaggi: 13
Quote:
Originariamente inviato da VegetaSSJ5
scusa ma non dovresti usare il dwFileAttributes al posto di cFileName??
Codice PHP:
//Restituisce il numero di sottocartelle di una cartella data
//va richiamato ContaCartelle("C:\\Percorso\\*")
int ContaCartellecharpercorsoRadice )
{
    
int risultato 0;
    
WIN32_FIND_DATA FindFileData;
    
HANDLE hFind INVALID_HANDLE_VALUE;

    
hFind FindFirstFilepercorsoRadice, &FindFileData );

    
//Se il file è valido cerco al suo interno le cartelle
       
if (hFind != INVALID_HANDLE_VALUE)
       {
        
//Finché esistono ancora files
          
while (FindNextFile(hFind, &FindFileData) != 0)
          {
            
//Se il file è una directory incremento il contatore
               
if ( GetFileAttributesFindFileData.dwFileAttributes ) & FILE_ATTRIBUTE_DIRECTORY )
            {
                
risultato++;
            }
          }

        
//Tolgo le due cartelle . e ..
        //-1 perche il primo file non l'avevo conteggiato
        
risultato--;

          
FindClose(hFind);

       }

       return 
risultato;
 } 
E' il GetFileAttributes che me lo restituisce un dwFileAttributes .

Da msdn:

DWORD GetFileAttributes(
LPCTSTR lpFileName
);
kmox è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 22:01   #7
kmox
Junior Member
 
L'Avatar di kmox
 
Iscritto dal: Jan 2005
Messaggi: 13
Come dovrebbe essere utilizzata altrimenti?
kmox è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 22:37   #8
VegetaSSJ5
Senior Member
 
L'Avatar di VegetaSSJ5
 
Iscritto dal: Sep 2002
Città: Celano (AQ) Segno_Zodiacale: Leone Ascendente: Cammello Segni_Particolari: Quello
Messaggi: 9571
prova a guardare quest'esempio, forse può esserti utile...

http://msdn.microsoft.com/library/de...attributes.asp
VegetaSSJ5 è offline   Rispondi citando il messaggio o parte di esso
Old 13-01-2005, 23:22   #9
kmox
Junior Member
 
L'Avatar di kmox
 
Iscritto dal: Jan 2005
Messaggi: 13
Diciamo che fondamentalmente mi sono basato su quell'esempio per fare la mia funzione di fatti

Codice PHP:
...

         
dwAttrs GetFileAttributes(FileData.cFileName); 
         if( 
GetLastError() != ) return;

         if (!(
dwAttrs FILE_ATTRIBUTE_READONLY)) 
         { 
           ...
         } 
           ... 
usa nello stesso modo in cui ho usato io. Boh!
kmox è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
HONOR Magic V5: il pieghevole ultra sottile e completo! La recensione HONOR Magic V5: il pieghevole ultra sottile e co...
Recensione Google Pixel 10 Pro XL: uno zoom 100x assurdo sempre in tasca (e molto altro) Recensione Google Pixel 10 Pro XL: uno zoom 100x...
Lenovo IdeaPad Slim 3: un notebook Snapdragon X economico Lenovo IdeaPad Slim 3: un notebook Snapdragon X ...
TP-Link protagonista a IFA 2025 con tant...
TK02 S è la nuova e-enduro di THOK con m...
Fallout 76: Rinnovamento C.A.M.P., pi&ug...
Toyota produrrà auto elettriche in Europ...
HONOR Magic V5 parte bene: lancio da rec...
Dyson svela 11 nuovi prodotti all'IFA: d...
Zurigo si scalda con i rifiuti: le pompe...
Noctua pubblica la nuova roadmap: primo ...
Palo Alto Networks presenta novità...
Surya, il modello di IA di IBM e NASA ch...
I browser Arc e Dia diventano parte dell...
Duster e Bigster, tutto quello che manca...
Superman: Man of Tomorrow, confermato da...
SK Hynix, accordo storico: 10% degli uti...
Arriva Veeam Software Appliance: protezi...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v