ben fread copie de ton disque en mémoire, si c´est déja en mémoire c´est bon !
ce que tu veux peut etre dire, c´est que sur le disque, tu vas faire un fread de 2 octets, puis un fread de 4 octets, etc... non ?
si tu veux faire pareil en mémoire : tu te crées une variable " curseur=0"
Bon imaginons un exemple concret :
1er exemple : tu as un int a récupérer sur le disque, que tu mets dans le " int dest"
fread(&,1,sizeof(int),F);
maintenant tu veux le récupérer depuis le buffer : char* buf :
memcpy(&,buf+curseur,sizeof(int));
curseur+=sizeof(int);
sinon tu as :
fscanf qui lit l´ASCII depuis un fichier
sscanf qui lit l´ASCII depuis un buffer mémoire
de meme sprintf permet d´écrire une chaine formatée dans un buffer ( printf vers l´écran stdout, et fprintf vers le disque)
en espérant avoir répondu a ta question 