J'ai oublier de mettre la source:
#include <windows.h>
#include <math.h>
char* ByteToHex(BYTE c)
{
const char H[16] = {'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
float n;
int i;
char h[2];
char *r;
n=c;
n=n/16;
i=(int)floor(n);
h[0]=H[i];
n=n-i;
n=n*16;
i=(int)n;
h[1]=H[i];
r=h;
return r;
}
int main(int argc,char **argv)
{
HANDLE hSrcFile, hDestFile;
char *SrcFile, *DestFile;
for(int i=1;i!=argc;i++)
{
SrcFile=argv[i];
hSrcFile = CreateFile(SrcFile,
GENERIC_READ,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(hSrcFile != INVALID_HANDLE_VALUE)
{
DestFile=strcat(SrcFile,".txt");
hDestFile = CreateFile(DestFile,
GENERIC_WRITE,
NULL,
NULL,
CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL,
NULL);
if(hSrcFile != INVALID_HANDLE_VALUE)
{
char SrcData[1024], DestData[2048];
int FileSize = GetFileSize(hSrcFile,NULL)-1;
DWORD nobr, nobw;
char *Hex;
bool eof=false;
while(!eof)
{
ReadFile(hSrcFile, SrcData, 1024, &nobr, 0);
for(int n=0;n<(int)nobr;n++)
{
Hex=ByteToHex(SrcData[n]);
DestData[n*2]=Hex[0];
DestData[n*2+1]=Hex[1];
}
WriteFile(hDestFile, DestData, nobr*2, &nobw,0);
if(nobr!=1024) eof=true;
}
}
CloseHandle(hDestFile);
}
CloseHandle(hSrcFile);
}
return 0;
}
The Universal ßð¥