c copier les fichiers dans l'ordre inverse à l'aide de lseek

J'ai comment faire pour copier un fichier à l'autre depuis le début, mais comment pourrais-je modifier le programme pour le copier dans l'ordre inverse? Fichier Source doit avoir un accès en lecture et du fichier de destination lire écrire exécuter. Je dois utiliser des fichiers de bibliothèques de contrôle.

par exemple

FILE A            File B should be
|---------|        |----------|
|ABCDEF   |        |FEDCBA    |
|---------|        |----------|

*********************Mise à JOUR**********

Merci, MikeNakis pour les conseils et les suggestions
,Sangeeth pour votre code

J'ai retravaillé le code et maintenant, c'est de copier les octets dans l'ordre inverse de l'impression de la taille du fichier

voici le code

#include<stdlib.h>
#include<stdio.h>
#include<fcntl.h>
#include<string.h>
#include<sys/stat.h>
#include<unistd.h>

int main(int argc, char *argv[]) {

    int source, dest, n;
    char buf;
    int filesize;
    int i;

    if (argc != 3) {
        fprintf(stderr, "usage %s <source> <dest>", argv[0]);
        exit(-1);
    }

    if ((source = open(argv[1], 0400)) < 0) { //read permission for user on source
        fprintf(stderr, "can't open source");
        exit(-1);
    }

    if ((dest = creat(argv[2], 0700)) < 0) { //rwx permission for user on dest
        fprintf(stderr, "can't create dest");
        exit(-1);
    }

    filesize = lseek(source, (off_t) 0, SEEK_END); //filesize is lastby +offset
    printf("Source file size is %d\n", filesize);

    for (i = filesize - 1; i >= 0; i--) { //read byte by byte from end
        lseek(source, (off_t) i, SEEK_SET);

        n = read(source, &buf, 1);

        if (n != 1) {
            fprintf(stderr, "can't read 1 byte");
            exit(-1);
        }

        n = write(dest, &buf, 1);
        if (n != 1) {
            fprintf(stderr, "can't write 1 byte");
            exit(-1);
        }

    }
    write(STDOUT_FILENO, "DONE\n", 5);
    close(source);
    close(dest);



    return 0;
}
Qu'entendez-vous par "dans l'ordre inverse" ?
copier le fichier à partir de la fin de fichier A |abcdefg| fichier B doit être copié |gfedcba|
OK - donc, vous voulez inverser l'ordre de la octets dans le fichier de destination ?
voulez-vous dire, la chaîne d'inverser l'ensemble du contenu d'un fichier et écrire dans un nouveau fichier?!
Paul R. Oui, je pense que vous m')

OriginalL'auteur mydreamadsl | 2012-01-03