Quando compilo o código, não dá nenhum problema, entretanto, quando rodo o código, não aparece nada
#include <stdio.h>
#include <stdlib.h>
#include "foge.h"
char** mapa;
int linhas;
int colunas;
void lemapa() {
FILE* f;
f = fopen("mapa.txt", "r");
if(f == 0) {
printf("Erro na leitura do mapa");
exit(1);
}
fscanf(f, "%d %d", &linhas, &colunas);
alocamapa();
for(int i = 0; i < 5; i++) {
fscanf(f, "%s", mapa[i]);
}
fclose(f);
}
void alocamapa() {
mapa = (char**) malloc(sizeof(char*) * linhas);
for(int i = 0; i < linhas; i++) {
mapa[i] = (char*) malloc(sizeof(char) * colunas + 1);
}
}
void liberamapa() {
for(int i = 0; i < linhas; i++) {
free(mapa[i]);
}
free(mapa);
}
int main() {
lemapa();
for(int i = 0; i < linhas; i++) {
printf("%s\n", mapa[i]);
}
liberamapa();
}
O código do mapa está assim :
5 10
|--------|
|...|..-.|
|..-|.@..|
|......-.|
|--------|