Bonjour
quand j'écrit mon exe
mon programme rajoute un \n quand il y a dans le buffer un \r et vice versa voici mon code :
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
printf("mapping du fichier\n");
HANDLE hFileIn;
DWORD dwsize, r=0, rw,dwFindDep,dwFindFin;
DWORD i = 0,k=0,l=0,m=0; //i pour le resu k pour le filein
DWORD nbIndent=0;
DWORD line=0;
char c;
char bufindent[500];
char *szBuff,*szResu, *e, *e1, *e2;
BOOL inchar=FALSE;
hFileIn = CreateFile("1.exe", GENERIC_READ, 0, 0, OPEN_ALWAYS, 0, 0);
if(hFileIn == INVALID_HANDLE_VALUE)
goto Erreur;
dwsize = GetFileSize(hFileIn, NULL);
if(dwsize == INVALID_FILE_SIZE )
goto ErreurSize;
szBuff =(CHAR *) malloc(dwsize+1);
memset(szBuff,0,sizeof(szBuff));
ReadFile(hFileIn, szBuff, dwsize, &rw, NULL);
szBuff[dwsize]='\0';
if(rw != dwsize)
goto ErreurMem;
CloseHandle(hFileIn);
printf("fin du mapping du fichier ...\nTeste de l'antivirus\n");
FILE * out;
int size;
out = fopen("C:\\test\\temp.exe","w");
if (!out)
return 0;
size=1;
for (i=0,k=0;k<=dwsize;k++,i++){
if (i>=500){
sleep(10);
i=0;
}
size=fprintf(out,"%c",szBuff[k]);//fwrite(&szBuff[k], 1,1,out);
if (size!=1){
printf("OULA ECRITURE:%d BLOQUE a :%d\n",size,k);
break;
}
}
fclose(out);
free(szBuff);
system("PAUSE");
return 0;
;
return 1;
Erreurtropg:
printf("ERREUR trop grand\n");
CloseHandle(hFileIn);
return 0;
ErreurMem:
printf("erreur memoire\n");
free(szBuff);
CloseHandle(hFileIn);
return 0;
ErreurSize:
CloseHandle(hFileIn);
printf("ERREUR SIZE\n");
return 0;
Erreur:
printf("ERREUR\n");
free(szBuff);
CloseHandle(hFileIn);
return 0;
}
HELP PLZ
SVP je part chez mes grand parant a 3H30 et j'ai pas de pc là ba répondez moi VITTTTE
merci
____
www.sebastien-metthez.com
le problème vient souvent de l'interface chaise clavier.