#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "Variaveis Foge Foge.h"
//matriz 5 linhas x 10 colunas
char** mapa;
int linhas;
int colunas;
void liberamapa()
{
//liberando variavel //tem que usar 'for' primeiro para liberar cada item da matriz
for(int i = 0; i < linhas; i++)
{
free(mapa[i]);
}
free(mapa);
}
void alocamapa()
{
/*função malloc aloca um bloco de memória dinâmicamente // função sizeof da o tamanho de bytes do que estive dentro do ()
para ponteiro e array que são ponteiros // ** para matrizes que são ponteiros de ponteiros*/
mapa = malloc(sizeof(char*) * linhas);
for(int i = 0; i < linhas; i++)
{
mapa[i] = malloc(sizeof(char) * (colunas+1));
}
}
void lemapa()
{
FILE* f;
f = fopen("mapa.txt", "r");
if(f == 0)
{
printf("Erro na leitura do mapa!\n\n");
exit(1);
}
fscanf(f, "%d %d", &linhas, &colunas);
alocamapa();
for(int i = 0; i < 5; i++)
{
fscanf(f, "%s", mapa[i]);
}
fclose(f);
}
int main()
{
lemapa();
for(int i = 0; i < 5; i++)
{
printf("%s\n", mapa[i]);
}
liberamapa();
}