Les retours à la ligne se cumulent...?

Signaler
Messages postés
44
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009
-
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
-
Bonjour,


J'écris dans un fichier html en mettant des \r\n pour avoir une meilleure lisiblité du texte lorsqu'il est récupéré sur un édit, puis je le sauvegarde en faisant une copie.
Par la suite, j'ai la possibilité de récupérer le texte de celui-ci... par exemple: le modifier.
Chaque fois (...après plusieurs sauvegardes et récupérations...) que je récupère le texte de la sauvegarde dans un édit, les retours à la ligne se cumulent et je me trouve avec tout un tas de petits traits verticaux.


J'ai bien trouvé quelques indices... mais je n'arrive pas à les exploter... je ne suis pas très compétent...


Si vous pouviez m'aider ou m'orienter... le plus simplement possible...


Merci

3 réponses

Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
Salut,

Aucun rapport avec le C++, il fallait poster dans le bar.

Concernant ton problème, ça ressemble plus à de la manipulation de logiciel que de la programmation.

Et là, en l'occurrence, tu ne détailles pas assez pour que l'on (Enfin surtout je...) puisse comprendre...

Tu fais quoi exactement ? Avec quels logiciels précisément ? Parce là, "edit", pour moi, il date de 1995, et je ne pense pas que ce soit le même.
Messages postés
44
Date d'inscription
vendredi 22 avril 2005
Statut
Membre
Dernière intervention
6 mars 2009

Salut
... je me suis un peu mélangé les piceaux...

Là, çà marche...

       if((file = fopen(szthis, "r")) != NULL)  //on ouvre le fichier 
    {  
        while (!feof(file))// si pas arrivé a la fin...
            {                    
                    fread(&szBuffer, true, true, file); //on met le tout dans le buffer
     
                       if(szBuffer == '\0')//si c'est la fin (plus de caractères, plus de ligne)
                       {                                   
                       }                       
                     //on affiche ce que contient le buffer  
                     fichier2[compteur1]=szBuffer;
                     compteur1++;
             }         
        fclose(file);
              //On efface l'édit pour pouvoir mettre à la place le code de la page de sauvegarde.                                                                          
                 SetWindowText(dEditF1,"");
                   //On affiche le buffer das l'édit
                      SetWindowText(dEditF1,fichier2);  

.... c'était un jour... sans 
Merci quand même.    
 
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
15
Ah bah milles excuses, j'avais pas compris.

fread(&szBuffer, true, true, file);

Original... fread (Aide ici) prend en argument 2 et 3 des entiers, et tu lui passes des booléens. Donc il faudrait peut être plutôt passez 1 pour la size, et 1 pour le count.

D'autre part, il est vivement déconseillé de lire caractère par caractère. Une fonction de lecture de fichier telle que fread à tendance à mettre en branle beaucoup de code et prend un certain temps. Il vaut mieux remplir un buffer et de vérifier la valeur renvoyer pour connaître le nombre de caractères copiés.