FILE * fp = fopen(fil, "rb");
char * buf[4096];
char tmp[4096];
int nb_read;
while ((nb_read=fread(buf,1,4096,fp))>0){
strcat(tmp, (const char *)buf);
}
fclose(fp);
SetDlgItemText(hdlg,IDC_EDIT1,tmp);
memset(tmp, 0, sizeof(tmp));
memset(buf, 0, sizeof(buf));
----------------
Déjà quand au début du edit se place tout le temps cette chaine : "ˆôwÿÿÿÿ7ôw.Ùåw"
je ne sais pas pourquoi.
Ensuite quand je selectionne un autre fichier à charger dans le edit, ça me met le contenu du fichier précédent plus le nouvea, les deux à la suite, je pensais portant avoir nettoyé le tablea avec memset() ! :s
Merci de m'éclairer :)
A voir également:
Problème d'effacement de tableau en C++ (sans MFC)
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 11 oct. 2003 à 23:06
Pourquoi mixer du win32 et
FILE * fp = fopen(fil, "rb");
emploie CreateFile()
Avec GetFileSize() tu sauras longueur du tampon a allouer et tu aspires en 1 seule passe par ReadFile. Ensuite CloseHandle(). N'oublie pas de mettre un zero au bout du tampon.
BruNews, ciao...