cs_papi2
Messages postés44Date d'inscriptionvendredi 22 avril 2005StatutMembreDernière intervention 6 mars 2009
-
10 févr. 2009 à 16:28
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDerniè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...
cs_papi2
Messages postés44Date d'inscriptionvendredi 22 avril 2005StatutMembreDerniè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);
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 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.