Я пытаюсь прочитать карту из текстового файла и создать массив строк в соответствии с количеством строк и столбцов на карте. Каждая ячейка в сетке представляет собой строку из 2 символов.Динамически выделять строковую матрицу в C
Например,
**--**--**--
--**--**--**
должен создать матрицу 2 * 6. Количество строк и столбцов равно ROWS и COLS соответственно. Я использовал
char ***map = malloc(ROWS * sizeof(char *));
for (i = 0; i < ROWS; i++)
{
map[i] = malloc(COLS * sizeof(char) * 2);
}
Но когда я пытаюсь использовать map[x][y]
, это будет сегментации.
Пробовал этот, и теперь он не segfault, но теперь похоже, что массив пуст или по какой-то причине он ничего не печатает. Кажется, я не читаю файл в массиве. http://pastebin.com/8Uu4fNJf – user1002327
Ну, заполнил массив вручную, и похоже, что он сейчас печатает. Ну, я думаю, я должен позаботиться о проблеме чтения. – user1002327
О проблеме чтения: я использовал fgets для подсчета количества строк и столбцов на карте и, конечно же, до EOF. Поэтому мне пришлось перезапустить позицию указателя, закрыв и снова открыв файл, но я думаю, что должен быть более эффективный способ сделать это. – user1002327