Ciao raga, ho fatto un semplice programma che dovrebbe scrivere su un file, e praticamente lo fa'.
chiedo di inserire il nome, cognome,l'eta', la sezione della classe, e l'anno della classe.
Mi mi stampa i campi relativi a uno sola persona tutti attaccati:
ad esempio:
CarloRusso17A4, anche se ho dichiarato il tracciato record.
codice:
# include <stdio.h>
# include <stdlib.h>
# include <string.h>

using namespace std;
typedef char   Eta[5];                // qui dichiaro il tracciato record
typedef char   Sezione[4];       // qui dichiaro il tracciato record
typedef char   Anno[4];       //
typedef char   Nome[20];     //

struct alunno {
        Nome       nome;
        Nome       cognome;
        Eta        eta;
        Sezione    sezione;
        Anno       anno;
};
struct alunno lettura_stdin();
void scrittura_file(struct alunno a, FILE* w);


int main(){
    
int ris,n;
struct alunno a[100];
FILE *w, *r;
w = fopen("test_2.txt","w");
ris=0;

while (ris!=3) 
      {
      printf("1) Inserisci l'alunno\n");
      printf("2) Immetti a video la lista di alunni\n");
      printf("3) Esci\n");
      scanf("%d",&ris);
      
      if (ris==1)
                 {
                 a[0]=lettura_stdin();
                 scrittura_file(a[0],w);
                 } 
      }
      printf ("sei uscito dal programma\n");
      fclose(w);
      system("pause");
}

      struct alunno lettura_stdin(){
          struct alunno a;
          printf("inserisci il nome dell'alunno\n");
          scanf("%s",&a.nome);
          printf("inserisci il cognome dell'alunno\n");
          scanf("%s",&a.cognome);
          printf("inserisci l'eta dell'alunno\n");
          scanf("%s",&a.eta);
          printf("inserisci la sezione dell'alunno\n");
          scanf("%s",&a.sezione);
          printf("inserisci l'anno dell'alunno\n");
          scanf("%s",&a.anno);
          return a;
      }
      void scrittura_file( struct alunno a,  FILE* w){
             fprintf(w, "%s",a.nome);                                      
             fprintf(w, "%s",a.cognome);      
             fprintf(w, "%s",a.eta);
             fprintf(w, "%s",a.sezione);
             fprintf(w, "%s\n",a.anno);
             fflush(w);
      }