Les retours à la ligne se cumulent...?

cs_papi2 Messages postés 44 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 6 mars 2009 - 10 févr. 2009 à 16:28
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 - 11 févr. 2009 à 20:41
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

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
10 févr. 2009 à 22:36
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.
0
cs_papi2 Messages postés 44 Date d'inscription vendredi 22 avril 2005 Statut Membre Dernière intervention 6 mars 2009
11 févr. 2009 à 00:07
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.    
 
0
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
11 févr. 2009 à 20:41
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.
0
Rejoignez-nous