il numero di caratteri non è vincolante. Se scrivo:
struct customer
{
char header[2];
char fname[2];
char lname[2];
};
fread (&input, sizeof(struct customer), 1, infile);
ogni campo sarà di 2 byte.
Ma se modifico il file, riadatto la struttura
struct customer
{
char header[20];
char fname[15];
char lname[20];
char nuovo[12];
};
fread (&input, sizeof(struct customer), 1, infile);
ogni campo sarà di n byte con aggiunta di un nuovo campo.
In definitiva, il programma non deve soddisfare un file ben preciso, ma deve essere in grado di adattarsi usando poche funzioni del C. Siccome di file che io chiamo pseudo binari ne ho n e sono tutti diversi, dovrei adattare ogni volta il programma al file, magari riempiendo un buffer e troncandolo ogni volta per ottenere ciò che voglio, sarebbe un lavoro immane.