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++