Salve,
ho trovato un problema con la fread, probabilmente e' una cosa semplice che nn riesco a capire .
FILE *fp;
// Apertura stream lettura
fp = fopen(operand, "rb");
int size;
fseek(fp, 0, SEEK_END);
size = ftell(fp);
rewind(fp);
char *buffer = (char *)malloc(sizeof(char)*size);
memset(buffer, 0, size);
if(fp){
int read = fread(buffer, sizeof(char), size, fp);
printf("%d %s\n", read, buffer);
}
else {
printf("File NON presente!\n");
return 1;
}
// Chiusura Stream lettura
fclose(fp);
free(buffer);
il risultato di questo codice e' questo:
size = valore corretto
read = valore corretto = size
buffer = 4 byte
sapete cosa sto' sbagliando? perche' leggo solo un pezzo cosi piccolo?
grazie anticipatamente per qualsiasi aiuto!