leggevo dati in + e ho corretto il codice
int _tmain(int argc, _TCHAR* argv[])
{
HANDLE hFile;
LPCWSTR fName = (LPCWSTR)argv[1];
BYTE buff[16];
DWORD dwBytesRead,size = 0;
_tprintf(L"Reading Content of %s:\r\n\r\n",fName);
hFile = CreateFile(fName,GENERIC_READ,0,NULL,OPEN_EXISTING ,NULL,NULL);
if(INVALID_HANDLE_VALUE == hFile)ExitProcess(0);
while(ReadFile(hFile,buff,sizeof(buff),&dwBytesRea d,NULL) && dwBytesRead > 0)
{
for(int i=0;i<dwBytesRead;i++)
{
buff[i] == 0x00 ? _tprintf(L"00 ") :_tprintf(L"%x ",buff[i]);
}
_tprintf(L" ");
for(int i=0;i<dwBytesRead;i++)
{
buff[i] >= 0x21 || buff[i] < 0x7F ? _tprintf(L"%c ",(TCHAR)buff[i]) : _tprintf(L". ");
}
size += dwBytesRead;
_tprintf(L"\n");
}
_tprintf(L"File size is: %d Bytes\n",size);
CloseHandle(hFile);
return 0;
}
pero non capisco perche buff[i] >= 0x21 || buff[i] < 0x7F ? _tprintf(L"%c ",(TCHAR)buff[i]) : _tprintf(L". "); non funziona.... sto imparando a programmare da solo un aiutino sarebbe gradito![]()

Rispondi quotando