Voglio creare una matrice che sia dinamica su i tre livelli di puntatori, ma il programma si blocca durante il debug quando faccio la malloc dell'ultimo livello. In fase di compilazione non mi restituisce nessun errore.
QUESTO E' IL CODICE:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int i, n, res, k;
char appoggio[10000];
FILE *fp=fopen("piatti.txt", "r");
char*** matrice=malloc(100*sizeof(char**));
for (fscanf(fp, "%d", &n), i=0; res!=EOF; res=fscanf(fp, "%d ", &n), matrice[i]=malloc(n*sizeof(char*)), i++)
{
for (k=0; k<n; k++)
{
fscanf(fp, "%s", appoggio);
matrice[i][k]=malloc((strlen(appoggio))*sizeof(char)); <-- QUI CRUSHA IL DEBUG
strcpy(matrice [i][k], appoggio);
}
}
printf("%s\n", matrice [0][0]);
return 0;
}