Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

so imprime

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

#include <stdio.h>
#include <stdlib.h>
#include "fogefoge.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 = malloc(sizeof(char*) * linhas);

for(int i = 0; i < linhas; i++) {
    mapa[i] = 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();

}

2 respostas

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

coloquei um print e realmente o valor de "f" esta vindo como "0" mas meu mapa.txt esta no mesmo diretorio nao sei porque esta lendo 0

solução!
  • no vscode tem q ter um arquivo mapa.txt dentro do output tambem e nao só onde vai compilar *