Partage
  • Partager sur Facebook
  • Partager sur Twitter

caractère étrange après copie d'un fichier

ÿ

    28 février 2006 à 9:40:06

    Lorsque j'utilise ce code pour copier un fichier source vers un fichier destination, le caractère 'ÿ' apparait à la fin du fichier destination. Comment ça se fait?
    void CopyFile(FILE* Source, FILE* Dest)
    {
        rewind(Source);
        rewind(Dest);
        while(!feof(Source))
        {
            fprintf(Dest, "%c", fgetc(Source));
        }
    }
    • Partager sur Facebook
    • Partager sur Twitter
      28 février 2006 à 10:14:14

      je sais pas trop, mais je pense que ça viens de la fonction feof.
      Essaye de ne pas l'utiliser, en utilisant par exemple un int pour stocker le retour de fgetc et ainsi tester si cet int contient EOF.
      De cette façon ça marche :)
      • Partager sur Facebook
      • Partager sur Twitter
        28 février 2006 à 10:37:04

        Euh, fgetc() renvoyant un char, je pense qu'il serait plus simple de tester avec un char. EOF égale 1 ou -1, je crois. Enfin un nombre aisément stockable dans un char.

        Sinon, je dis ça au cas-où, 'ÿ' est le 152ème caractère selon la table ASCII
        • Partager sur Facebook
        • Partager sur Twitter
          28 février 2006 à 11:07:23

          rtfm, fgetc renvoie un int (en fait ça renvoie un unsigned char casté en int).

          EOF est égale à -1, et le ÿ ça ne fait plus parti de l'ascii, mais principalement de ton charset, donc ça dépend de ta plateforme (chez moi, sous linux, ça renvoie pas un ÿ).
          • Partager sur Facebook
          • Partager sur Twitter
            28 février 2006 à 13:12:05

            Citation : drexil

            rtfm

            non, rtfml

            (celui qui trouve a droit à un omg-ascii art)
            • Partager sur Facebook
            • Partager sur Twitter

            caractère étrange après copie d'un fichier

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown