romydamour
Messages postés30Date d'inscriptionmardi 15 mars 2005StatutMembreDernière intervention 6 juillet 2005
-
7 juin 2005 à 18:49
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
7 juin 2005 à 19:51
salut tout le monde,[visualC++, API win32]
j'ai un problème avec la récupération du contenu d'un fichier texte puis son insertion dans une boite d'édition. En fait le code ci dessous me permet de faire ça, mais il copie également, à la suite, dans mon EditBox des caractères bizarres (iiiiiiiii'y'yy'y'y'y'y'yY'Y'Y'Y''Y'Y'Y'Y'Y......), Et aussi il me met au début de mon texte une sorte de Pipe épais ( | ). C'est sans doute un problème avec mon tableau mais je ne vois pas comment le résoudre!
je ne vois pas pourquoi, si quelqu'un a déjà rencontré cette situation, ca m'aiderait beaucoup
Code:
,
----
FILE * fichier1;//déclaration du flux
long lSize1;
char * Texte1;
char szTexte1 [TAILLE_BUFFER];//Là où est stocké le chemin du fichier à lire
//ouverture du fichier en mode lecture
fichier1 = fopen(szTexte1, "r");
//si le fichier n'existe pas, il quitte le programme
if (fichier1==NULL) exit (1);
//renvoie la taille du fichier
fseek (fichier1 , 0 , SEEK_END);
lSize1 = ftell (fichier1);
// place le pointeur du fichier au debut
rewind (fichier1);
);//allocation de la memoire pour stocker le fichier
texte1 = (char*) malloc (lSize1);
//si le buffer ne contient rien alors ca quitte
if (texte1 == NULL) exit (2);
//copie le fichier dans le buffer
(texte1,1,lSize1,fichier1);
//affiche a l'écran le contenu du buffer
SetWindowText(GetDlgItem(hwndDlg, IDC_CONTENT2), texte1);
fclose (fichier1);//fermeture du flux
free (texte1);//vide le buffer
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 7 juin 2005 à 19:51
une chaine doit TOUJOURS finir par un terminateur NULL, grace à cela que SetWindowText saura quoi insérer donc faut l'ajouter en fin de buffer quand tu lis ton fichier (allouer lenFichier + 1).