ho provato a fare un programmino che utilizzi queste funzioni...e che deve ricercare un record nel file e stamparlo se viene trovato...ma non funziona...
...provo a postare il codice...se potete correggere quello che ho sbalgiato...
codice:
#include <stdio.h>

struct data {
       int conto;
       char nome[10];
       char cogn[15];
       int saldo;
};

int main ()
{ 
    struct data str = {0,"","",0};
    char pstr[10];
    int ncont,i;
    FILE *aptr;
    
    aptr = fopen("File_casuale.txt","rb+");
    
    printf ("Inserire numeri di conto: ");
    scanf  ("%d", &str.conto);
    rewind(aptr);
    while ( str.conto != 0 ) {
          printf ("Inserire nome e cognome: ");
          scanf  ("%s%s", str.nome, str.cogn);
          printf ("Inserire saldo utente: ");
          scanf  ("%d", &str.saldo);
          
          fwrite (&str,sizeof(struct data),1,aptr);
    
          printf ("\nInserire un numero conto: ");
          scanf  ("%d", &str.conto);
    }
    
    //ricerca per numero di conto
    printf ("Inserire numero conto per la ricerca: ");
    scanf  ("%d", &ncont);
    
    fseek(aptr,(ncont-1)*sizeof(struct data),SEEK_SET);
    
    fread(&str,sizeof(struct data),1,aptr);
    
    if ( str.conto == ncont ) {
         printf ("Conto trovato\n");
         printf ("%d%s%s%d\n", str.conto, str.nome, str.cogn, str.saldo);
    }
    else {
         printf ("Non e' stato trovato il conto corrispondente\n");
    }
    fclose(aptr);
    system ("pause");
}