ok giusto ...devo aggiungere "b"..se binario..sia in scrittura che in lettura




codice:
#include <stdio.h>
#include <stdlib.h>
#define N 2
#define max 20

/*
 * 
 */
int main() {

    struct riga {
        char nome[max];
        int punti;
    };

   
	char nom[max];
	int pu;

	FILE *cfPtr;
    struct riga ri;

	cfPtr = fopen ("classifica.dat" , "ab");

	printf ("Inserisci nome squadra e punteggio : \n");
	printf ("Inserisci EOF per terminare l'inserimento \n");

	while (!feof(stdin)){
		  scanf ("%s%d", nom, &pu);

		  strcpy(ri.nome, nom);
		  ri.punti = pu;

		  fwrite(&ri, 1, sizeof(struct riga), cfPtr);
	}

	
	fclose ( cfPtr );


	cfPtr = fopen ( "classifica.dat" , "rb" );

            
	size_t n = fwrite (&ri , 1 , sizeof( struct riga ) , cfPtr );
		
	printf ("%s%d", ri.nome, 
				ri.punti);
	
	fclose ( cfPtr );


    return 0;
}

ma mi si blocca alla seguente istruzione

codice:
cfPtr = fopen ( "classifica.dat" , "rb" );