Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    207

    [C/C++] Contare i file in una cartella

    C'è una funzione in C e in C++ che restituisce il numero di file contenuti in una cartella, sia per Unix che per Windows?

  2. #2
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Non direttamente. In Unix c'è dirent.h, in windows di solito si usa l'API di sistema (anche se mi pare ci sia un header da usare ma non ricordo quale).
    In ogni caso per sapere il numero di file devi sfogliare la cartella, estraendo i vari file contenuti e mantenendo un contatore.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    207
    Originariamente inviato da shodan
    Non direttamente. In Unix c'è dirent.h, in windows di solito si usa l'API di sistema (anche se mi pare ci sia un header da usare ma non ricordo quale).
    In ogni caso per sapere il numero di file devi sfogliare la cartella, estraendo i vari file contenuti e mantenendo un contatore.
    Hai un pezzo di codice da mostrarmi per vedere come si fa?
    Grazie.

  4. #4
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da rescueme
    Hai un pezzo di codice da mostrarmi per vedere come si fa?
    Grazie.
    Se scrivi "count files in directory c++" su google tra i primi risultati c'è questo (Windows) e questo (Unix)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    207
    Originariamente inviato da Alex'87
    Se scrivi "count files in directory c++" su google tra i primi risultati c'è questo (Windows) e questo (Unix)
    Grazie. Il codice per UNIX è leggermente sbagliato e non funziona così com'è: ho dovuto modificarlo.
    Quello per Windows invece funziona!

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da rescueme
    Grazie. Il codice per UNIX è leggermente sbagliato e non funziona così com'è: ho dovuto modificarlo.
    Posta le correzioni, magari a qualcuno potrebbero tornare utili
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    207
    Ecco il codice corretto per UNIX:

    Codice PHP:
    #include <stdio.h>
    #include <sys/types.h>
    #include <dirent.h>
    int main()
    {
      
    int count;
      
    DIR *d;
      if( (
    opendir(".")) != NULL)
      {
        for(
    count 0;  readdir(d) != NULLcount++);
        
    closedir(d);
       }
       
    printf("\n %d"count);
       return 
    0;


  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da rescueme
    Ecco il codice corretto per UNIX:

    Codice PHP:
    #include <stdio.h>
    #include <sys/types.h>
    #include <dirent.h>
    int main()
    {
      
    int count;
      
    DIR *d;
      if( (
    opendir(".")) != NULL)
      {
        for(
    count 0;  readdir(d) != NULLcount++);
        
    closedir(d);
       }
       
    printf("\n %d"count);
       return 
    0;

    Qual è la differeza con quello presente al link che ho messo?
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    1,326
    DIR *d anziché S_Dir *d o struct DIR *d come risponde l'utente nel secondo post.. Giustamente i directory stream della libreria dirent vanno dichiarati di tipo DIR.
    every day above ground is a good one

  10. #10
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da YuYevon
    DIR *d anziché S_Dir *d o struct DIR *d come risponde l'utente nel secondo post.. Giustamente i directory stream della libreria dirent vanno dichiarati di tipo DIR.
    L'avevo vista la risposta, mi riferivo appunto a quella quando ho chiesto a rescueme le differenze
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.