Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: [C] Cartelle e file

  1. #1
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    76

    [C] cartelle e file

    Ciao a tutti, vorrei realizzare un pgm C (molto semplice) in ambiente windows, che mi permetta di visualizzare le cartelle e i file di una determinata directory...piu o meno come la shell del dos...

    ...mi spiego meglio

    Il mio problema è questo: se in C devo leggere o scrivere un file non è un problema fopen("percorso","r/w")...ma se voglio sapere le cartelle o i file contenuti in una determinata directory come faccio ????

  2. #2
    codice:
    #include <stdio.h>
    
    int main(){
        char comando[256];
        int pid,status;
        while(1){
             printf("Digitare un comando: ");
             scanf("%s",comando);
             pid = fork();
             if(pid==-1){
                printf("Errore nella fork");
                exit(1);
             }
             if(pid==0){ execlp(comando,comando,0);
             else wait(&status);
             }
    }
    questa è una tipica shell di comandi unix
    se alla printf passi "ls"
    ti lista le directory
    adattala a windows e guarda un po te se ti può essere utile
    ---------------------------------
    Programmatore C

  3. #3
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    76
    Ciao grazie per l'aiuto ma queste funzioni:

    1-> fork()
    2-> wait()
    3-> execlp()

    Mai sentite :master: è la prima volta che le vedo...

  4. #4
    sono system call unix
    fork() crea un processo figlio
    wait() fa attendere al padre il terminamento del figlio
    execlp() lancia un nuovo programma
    ---------------------------------
    Programmatore C

  5. #5
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    76
    grazie Marco ma non ho capito molto potresti farmi un esempio terra a terra in C per esempio che ne so

    void main()
    {

    FILE *fp;

    fp=fopen("percorso che voglio esplorare","r");

    ....cosa ci metto qua :master:

    fclose(fp);

    }

  6. #6

    Re: [C] cartelle e file

    Originariamente inviato da orcdo
    Il mio problema è questo: se in C devo leggere o scrivere un file non è un problema fopen("percorso","r/w")...ma se voglio sapere le cartelle o i file contenuti in una determinata directory come faccio ????
    Non credo tu possa farlo in C standard.
    Devi usare delle estensioni dipendenti dalla piattaforma.
    Su unix/linux, per esempio:

    opendir()
    readdir()
    closedir()
    "Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".

  7. #7
    adesso non ho molto tempo...ci dovrei pensare...ti faccio sapere se riesco a far qualcosa di utile! Documentati anche tu però al riguardo ...
    ---------------------------------
    Programmatore C

  8. #8
    Utente bannato
    Registrato dal
    Apr 2004
    Messaggi
    76
    Ok grazie mille...

  9. #9
    Utente di HTML.it L'avatar di /dev/null
    Registrato dal
    May 2004
    Messaggi
    1,936
    Non ho idea di come si possa fare sotto win
    Se ti interessa anche farlo sotto linux (ho visto che ne parlavi con Marco e Ikitt) leggiti un pò di questa roba quì

    http://www.lilik.it/~mirko/gapil/gap...ml#x132-830005
    http://www.lilik.it/~mirko/gapil/gap...l#x194-1100006

    Ti dovrebbe interessare soprattutto questo capitolo:
    http://www.lilik.it/~mirko/gapil/gap...#x133-840005.1
    con particolare attenzione a questo punto:
    http://www.lilik.it/~mirko/gapil/gap...147-900005.1.6

    Tra i sorgenti di Gapil (li scarichi da http://gapil.firenze.linux.it/stampa.html ) trovi un sorgentechiamato myls.c che è esattamente ciò che cerchi (ma leggiti anche un pò di documentazione sul sito, o ci capirai poco)...

    Ma come già detto funziona solo sotto Linux
    Ultima modifica ad opera dell'utente /dev/null il 01-01-0001 alle 00:00

  10. #10
    visual C++ non mi vede <dirent.h> e quindi non riesco a compilare
    vorrei usare opendir, readdir, closedir ..qualcuno mi sa dire qual'è il problema?

    grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.