salve ragazzi è la prima volta ke scrivo ma vi seguo tanto anche perchè molto spesso trovo le soluzioni ai miei problemi guardando quelle degli altri 
questa volta però nn sono riuscito a trovare la soluzione al mio problema e speravo ke qualcuno di voi mi potesse aiutare.La mia situazione è questa, devo creare un dizionario di sinonimi (massimo 5 per ogni parola) ke è indicizzato per lettere dell'alfabeto. ora io ho provato a creare una "struttura" con campi: indice, parola[5][20], sinonimo[4][20] ma nn riesco nella fase di lettura a leggermi questi dati da un file!
vi posto il codice..
Codice PHP:
...
//CODICE SCRITTURA FILE
typedef struct Dizionario
{
char indice;
struct {
char parola[20];
struct {
char sinonimi[20];
}s[5];
}p[4];
}d;
int i=0,f=0,c=0;
void main()
{
FILE *ofp;
d dizionario[23];
ofp= fopen("dizionario.dat", "wb");
dizionario[1].indice=97 //valore ascii
;
i=0;
while(i!=2)
{
i++;
dizionario[i].indice=dizionario[i].indice+1;
fwrite(&dizionario,sizeof(dizionario),1,ofp);
c=0;
while (!feof(stdin) && (c!=4))
{
fflush(stdin);
c++;
printf("i=%d,c=%d",i,c);
printf("\ninserisci la %d parola dell'indice %c: ",c,dizionario[i].indice);
scanf("%s", &dizionario[i].p[c].parola);
fwrite(&dizionario[i].p,sizeof(dizionario[i].p),1,ofp);
f=0;
while(f!=5)
{
f++;
printf("\n inserisci il %d sinonimo della parola %s: ",f,dizionario[i].p[c].parola);
scanf("%s", &dizionario[i].p[c].s[f].sinonimi);
fwrite(&dizionario[i].p[c].s,sizeof(dizionario[i].p[c].s),1,ofp);
}
}
}
fclose(ofp);
fflush(stdin);
}
Codice PHP:
//CODICE LETTURA
void main()
{
FILE *fl;
d dizionario[2];
d dizionario1[2];
fflush(stdin);
fl= fopen("dizionario.dat", "rb");
if (fl){
i=0;
for (i=0; i<=2; i++)
{
fscanf(fl,"%c",dizionario[i].indice);
dizionario1[i].indice=dizionario[i].indice;
c=0;
for (c=1; c<=4; c++)
{
fscanf(fl,"%s",dizionario[i].p[c].parola);
strcpy(dizionario1[i].p[c].parola,dizionario[i].p[c].parola);
f=0;
for (f=1; f<=5; f++)
{
fscanf(fl,"%s",dizionario[i].p[c].s[f].sinonimi);
strcpy(dizionario1[i].p[c].s[f].sinonimi, dizionario[i].p[c].s[f].sinonimi);
}
}
}
fclose(fl);
i=0;
c=0;
f=0;
for (i=0; i<=2; i++)
{
printf("indice=%c\n",dizionario1[i].indice);
c=0;
for (c=1; c<=4; c++)
{
printf("%d parola=%s\n",c,dizionario1[i].p[c].parola);
f=0;
for (f=1; f<=5; f++)
{
printf("%d sinonimo=%s",f,dizionario1[i].p[c].s[f].sinonimi);
}
}
}
}
}
il programma nn mi segnale errori ma poi quando mando in esecuzione la lettura mi dice "la memoria nn poteva essere read ....."
vi prego ragazzi mi potete aiutare devo completare questo progetto per l'università :S
grazie in anticipo