Я работаю над этим C проектом (я довольно плохо знаком с C), где мне нужно проанализировать данные из файла в двумерный массив, который является элементом структуры, определенной следующим образом:
typedef struct {
int x;
int y;
char ** result;
} gameF;
Файл содержит два целых числа вверху, и эти целые числа определяют размер результата двухмерного массива, а данные, которые нужно ввести в этот массив, находятся под новой строкой под ними. До сих пор я написал следующий код, но продолжаю получать ошибку сегментации. Я знаю, что проблема лежит где-то между строками 11 и 16, так как я попробовал остальную часть кода после закомментирования этих строк, и она работает нормально.
gameF * Parsefile(char * fp){
FILE * ResData;
ResData = fopen(fp, "r");
gameF * MyF = malloc(sizeof(gameF));
char line[52];
while(fgets(line, 52, ResData) !=NULL){
int num = 0;
if(sscanf(line, "%d %d", &(*MyF).x, &(*MyF).y) != 0){
continue;
}
int i; // L11
for(i=0; i<52; i++){
if(line[i]==' '){
break;
}
(*MyF).result = line [i]; // L16
}
num ++;
}
return MyF;
}
Пожалуйста, помогите!