Salve,

stavo curiosando tra le differenze tra la libreria C++ <fstream> e la C <stdio.h> per leggere files binari...in particolare nella spiegazione della fread trovo:

size_t fread ( void * ptr, size_t size, size_t count, FILE * stream );

ptr -> Pointer to a block of memory with a minimum size of (size*count) bytes.
...
...
...
ed avevo trovato un codice in rete che faceva una cosa del genere:

codice:
while ( (dwRead=fread(pWAVBuffer,sizeof(SHORT),dwSamples,pFileIn)) >0 )
// dove pWAVBuffer è:
// PSHORT pWAVBuffer = NULL;
// pWAVBuffer = new SHORT[dwSamples];
allora volevo provare a rifare l'esempio ma usando la <fstream>

codice:
int main()
{
	PSHORT pBuffer = NULL;
	pBuffer = new SHORT[20];
	
	std::ifstream inFile;
	inFile.open( file, std::ios::in|std::ios::binary );
	inFile.seekg(0, std::ios::beg);
	inFile.read(pBuffer, 20);
	inFile.close();

	printf("%s\n", buffer);

	system("pause");
}
naturalmente mi da problemi di cast...come posso forzare la conversione??

grazie

NB: che senso ha definire un buffer di dati con:

// PSHORT pWAVBuffer = NULL;
// pWAVBuffer = new SHORT[dwSamples];

???