Copia di file da cartella

di il
1 risposte

Copia di file da cartella

Quali funzioni esistono per copiare e incollare file generici da una cartella a un'altra?
Tutti i files della cartella, senza fare distinzioni.

1 Risposte

  • Re: Copia di file da cartella

    Devi usare le librerie <sys/dir> e <stdio.h>. l'API
    scandir(char *dirname, struct direct **namelist, int (*select)(), int (*compar)())
    per ottenere la lista dei puntatori dei file della directory. Successivamente per copiare ed incollare i singoli file io farei una funzione :
    int myReadWrite(char * nameFile, char * dirOrigine, char * dirDest);
    che crea il file nella directory di destinazione, legge il file dalla directory di origine ed infine scrive (quello letto) nel file nella directory di destinazione. Per leggere e scrivere puoi usare le api :
    ssize_t read(int fd, void *buf, size_t count);
    ssize_t write(int fd, const void *buf, size_t count);
    e magari anche:
    off_t lseek(int fd, off_t offset, int whence);
    ti posizioni alla fine del file così leggi e scrivi tutto il file senza scandirlo carattere per carattere. (sempre che i file che copi sono di dimensioni limitate)

    Potresti anche eseguire un comando shell nel tuo programma c tipo:
    system("cp DIR_O/*.* DIR_D");


    http://digilander.libero.it/uzappi/C/librerie/funzioni/read.html
    http://digilander.libero.it/uzappi/C/librerie/funzioni/write.html
    http://digilander.libero.it/uzappi/C/librerie/funzioni/lseek.html
Devi accedere o registrarti per scrivere nel forum
1 risposte