0/5 (14 avis)
Vue 3 593 fois - Téléchargée 226 fois
#include <windows.h> #include "resource.h" #include <stdio.h> #include "bnPrecis.h" #define SIZEBUFF 8192 int i; HWND hres[2]; char szbuff[SIZEBUFF]; char szFL1[] = "fopen.txt"; char szFL2[] = "win32.txt"; char szERROR[] = "ERREUR"; void TesteFichiers() { FILE *ouvre; HANDLE hfl; DWORD r; bnTicksStart(); ouvre = fopen(szFL1, "w"); if(ouvre == NULL) goto errFopen; for(i = 0; i < 6000; i++) r = fwrite(szbuff, SIZEBUFF, 1, ouvre); fclose(ouvre); _ui64toa(bnTicksResult(), szbuff, 10); SetWindowText(hres[0], szbuff); DeleteFile(szFL1); goto testWin32; errFopen: SetWindowText(hres[0], szERROR); testWin32: bnTicksStart(); hfl = CreateFile(szFL2,GENERIC_WRITE,0,0,CREATE_ALWAYS,FILE_FLAG_SEQUENTIAL_SCAN,0); if(hfl == INVALID_HANDLE_VALUE) goto errWin32; for(i = 0; i < 6000; i++) WriteFile(hfl, szbuff, SIZEBUFF, &r, 0 ); CloseHandle(hfl); _ui64toa(bnTicksResult(), szbuff, 10); DeleteFile(szFL2); goto dispWin32; errWin32: strcpy(szbuff, szERROR); dispWin32: SetWindowText(hres[1], szbuff); } BOOL CALLBACK AppDlgProc(HWND hdlg, UINT mssg, WPARAM wParam, LPARAM lParam) { switch(mssg) { case WM_INITDIALOG: SetClassLong(hdlg, GCL_HICON, (long)LoadIcon(0, IDI_APPLICATION)); hres[0] = GetDlgItem(hdlg, ID_RES0); hres[1] = GetDlgItem(hdlg, ID_RES1); return 1; case WM_COMMAND: switch(wParam) { case IDBT_1: SetWindowText(hres[0], 0); SetWindowText(hres[1], 0); TesteFichiers(); return 0; case IDCANCEL: EndDialog(hdlg, 0); } } return 0; } int WINAPI WinMain(HINSTANCE hinst, HINSTANCE, PSTR, int) { DialogBoxParam(hinst, (LPCTSTR)IDD_APP, 0, AppDlgProc, 0); return 0; }
12 juin 2005 à 21:25
12 juin 2005 à 21:11
12 juin 2005 à 21:09
12 juin 2005 à 14:31
Par ailleurs, si taille d'un cluster est supérieure à ton SIZEBUFF, cela diminue-t-il les performances?
15 oct. 2003 à 16:05
Mais bon si c est ton style de code, et que c est logique pour toi de coder comme ca, t as aucune raison de changer ... jdis juste ca pour faire comprendre que c est pas en ameliorant les details que tu feras de bons programmes ...
maintenant si tu utilise des goto un peu partout dans une equipe de dev, je me demande si les autres vont accepter ou bien te lyncher sur place ?...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.