Afficher le contenu d'un fichier .Txt dans mon editBox multiline [HELPP]

Résolu
bobosss972 Messages postés 10 Date d'inscription mardi 6 juin 2006 Statut Membre Dernière intervention 30 mars 2013 - 7 janv. 2012 à 01:21
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019 - 7 janv. 2012 à 10:27
Salut a tous j'ai un soucis j'ai crée une interface en winapi C et dedans j'ai un editbox dont je voudrai bien mettre le contenu de mon fichier .txt je débute avec le mélange du C et winapi .

void Ftxt() {
int nombre1 = 20000 ;
char chainetotal[MAX_PATH];
FILE* fichier1 =  NULL;
fichier1 = fopen("C:\\test.txt","r");
if(fichier1 != NULL)
   {
     While (fgets(chainetotal , nombre1, fichier1) != NULL) 
      {
         SendMessage( Editbox1 , chainetotal); 
....


mais ce code affiche le contenu du .txt mais avec des symbole genre | et j'ai pas accès au char pour mettre les \r\n car elle contient le contenu du .txt donc ou est mon soucis ou a til un autre code pour afficher le contenu dans mon editbox ?? merci beaucoup .

1 réponse

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
7 janv. 2012 à 10:27
Lecture sequentielle par passes de 4 Ko (1 page memoire),
je vais ainsi tépargner alloc memoire et ...
Aucun controle d'erreur en lecture(cluster defaillant ou autre).

void flToTxtbox(char *pname, HWND hed)
{
  HANDLE hfl;
  char buf[4100];
  DWORD rw;
  
  SendMessage(hed, WM_SETREDRAW, 0, 0);
  SetWindowText(hed, 0);
  hfl = CreateFile(pname, GENERIC_READ, FILE_SHARE_READ, 0,
                   OPEN_EXISTING, FILE_FLAG_SEQUENTIAL_SCAN, 0);
  if(hfl == INVALID_HANDLE_VALUE) goto goREDRAW;
goREAD:
  ReadFile(hfl, buf, 4096, &rw, 0);
  if(!rw) goto closeFL;
  buf[rw] = 0;
  SendMessage(hed, EM_REPLACESEL, 0, (LPARAM) buf);
  if(rw == 4096) goto goREAD;
closeFL:
  CloseHandle(hfl);
goREDRAW:
  SendMessage(hed, WM_SETREDRAW, 1, 0);
}


ciao...
BruNews, MVP VC++
3
Rejoignez-nous