Partage
  • Partager sur Facebook
  • Partager sur Twitter

retour à la ligne fichier txt

retour a la ligne

Sujet résolu
    17 mai 2022 à 21:49:58

    Bonjour j'aimerai que ma procédure ecrive la chaine username dans  file qui est un fichier txt seulement je n'arrive pas a faire en sorte qu'il y ai un retour a al ligne. Ducoup les noms d'utilisateur s'alligne les uns après les autres sur la meme ligne:/

    void data_filling(char username[], FILE *file){
    
    	fseek(file,0,2);
    	fputs(username,file);
    	
    
    }

    Merci d'avance :)



    • Partager sur Facebook
    • Partager sur Twitter
      17 mai 2022 à 22:00:07

      Salut,

      Ajouter '\n' à la chaîne de caractères...

      Edit : pour ouvrir avec notepad (ou du genre) sous windows, il aime bien le couple cr/lf (0x0D et 0x0A), donc ajouter "\r\n"

      -
      Edité par drx 17 mai 2022 à 22:07:14

      • Partager sur Facebook
      • Partager sur Twitter

      Bonhomme !! | Jeu de plateforme : Prototype.

        17 mai 2022 à 23:38:22

        Bonjour,

        il me semble que sous windows si tu ouvres un fichier en mode texte alors '\n' est «transformé» en CR+LF. C'est aussi pourquoi il n'y a que sous windows que la différentiation binaire/texte est prise en compte.

        • Partager sur Facebook
        • Partager sur Twitter
          17 mai 2022 à 23:47:09

          Hello,

          drx a écrit:

          (....) Ajouter '\n' à la chaîne de caractères...(....)

          ou ajouter un fputc('\n',file); en ligne 5

          Et plutot que d'utiliser des nombres magiques pour la position d'origine du fseek (le second troisième paramètre), utilises les #define qui existent: SEEK_SET (début), SEEK_CUR (position courante) et SEEK_END (fin du fichier) :  parce que c'est plus parlant, et aussi parce que rien ne dit que SEEK_SET (par exemple) vaudra toujours zéro.

          Edit: au fait, à quoi sert le fseek() ? Tu vas toujours écraser le username précédemment écrit.


          Edit suite au message de Pierrot



          -
          Edité par edgarjacobs 18 mai 2022 à 1:35:11

          • Partager sur Facebook
          • Partager sur Twitter

          On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

            18 mai 2022 à 1:27:32

            @edgarjacobs:
            fseek(file, 0, 2)  est équivalent à  fseek(file, 0, SEEK_END)
            Il n'écrasera rien, mais je suis d'accord que c'est inutile ici.
            • Partager sur Facebook
            • Partager sur Twitter

            Le Tout est souvent plus grand que la somme de ses parties.

              18 mai 2022 à 1:35:24

              PierrotLeFou a écrit:

              @edgarjacobs:
              fseek(file, 0, 2)  est équivalent à  fseek(file, 0, SEEK_END)
              Il n'écrasera rien, mais je suis d'accord que c'est inutile ici.


              ++++

              Le paramètre de debut de seek est le troisième. J'ai été distrait. Merci. Je corrige.

              • Partager sur Facebook
              • Partager sur Twitter

              On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                19 mai 2022 à 21:52:56

                ok Merci le \n fonctionne parfaitement!!

                • Partager sur Facebook
                • Partager sur Twitter
                  20 mai 2022 à 1:09:30

                  JalisKlingler a écrit:

                  ok Merci le \n fonctionne parfaitement!!


                  Précise pour de futurs lecteurs: lequel ? Celui que tu ajoutes à la chaine de caractères ou celui que tu écris avec fputc() ?  ;)
                  • Partager sur Facebook
                  • Partager sur Twitter

                  On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent

                    20 mai 2022 à 1:39:56

                    Et as-tu enlevé le fseek qui est inutile?
                    Pourrais-tu poster ton code final?
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Le Tout est souvent plus grand que la somme de ses parties.

                      20 mai 2022 à 11:11:30

                      PierrotLeFou a écrit:

                      Et as-tu enlevé le fseek qui est inutile?

                      inutile ? On ne sait pas ? Il est dans une fonction qui travail sur un fichier déjà ouvert ! On ne sait pas ce qu'il fait en dehors de la fonction sur le fichier ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                      ...
                        20 mai 2022 à 14:23:20

                        JalisKlingler a écrit:
                        Ducoup les noms d'utilisateur s'alligne les uns après les autres sur la meme ligne:/
                        Ça ne veut sans doute rien dire, mais on peut supposer des appels consécutifs sans rien faire d'autre sur le fichier.
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Le Tout est souvent plus grand que la somme de ses parties.

                        retour à la ligne fichier txt

                        × 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