Salve,
ho un problema con questa funzione:
void openFile(const char *dir)
{
DWORD fileSize,RB;
HANDLE hFile = CreateFile(dir,GENERIC_READ | GENERIC_WRITE,NULL,NULL,OPEN_EXISTING,0,NULL);
if(hFile == INVALID_HANDLE_VALUE)
{
printf("Error n° %d, cannot continue\n",GetLastError());
printf("Closing...\n");
system("pause");
CloseHandle(hFile);
exit(-1);
}
fileSize = GetFileSize(hFile,NULL);
BaseAddress = (BYTE*)malloc(fileSize);
if(!ReadFile(hFile,BaseAddress,fileSize,&RB,NULL))
{
printf("Error n° %d, cannot continue\n",GetLastError());
printf("Closing...\n");
system("pause");
CloseHandle(hFile);
exit(-1);
}
}
La chiamata in main() la effettuo così:
openFile((const char *)argv[1]);
Premetto che tutto funzionava finquando avevo il codice scritto direttamente nel main(),
però per avere un codice più pulito ho spostato tutto nella funzione openFile().
Il problema è che la funzione CreateFile() non mi analizza il paramentro const char *dir;
Non lancia nessun errore,semplicemente continua a funzionare come se non avessi inserito nulla.
Andando nelle proprietà del progetto (uso visual studio 2010) ho cambiato il character set a "Use multiple-byte character set" ma non ha funzionato.
Grazie in anticipo,
Sarajevo.