Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Bug] Não está aparecendo o mapa

Até então tá tudo certo, porém o mapa não aparece; Estou usando o VsCode.

#include <stdio.h>
#include <stdlib.h>
#include "pacmandashoppe.h"

char** mapa;
int linhas;
int colunas;
void liberamapa(){
    for(int i = 0; i < linhas; i++){
    free(mapa[i]);
}
free(mapa);
}

void alocamapa(){

    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.");
    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();
}
1 resposta
solução!

Olá, Eduardo!

Pelo código que você compartilhou, parece que você está tendo um problema em que o mapa não está aparecendo quando você executa o programa. Vamos tentar identificar o que pode estar causando esse problema.

Ao analisar o código, percebo que você está lendo o mapa de um arquivo chamado "mapa.txt" na função lemapa(). Verifique se o arquivo "mapa.txt" está no mesmo diretório do seu código-fonte. Caso contrário, certifique-se de fornecer o caminho correto para o arquivo.

Outra possível causa do problema pode ser a função liberamapa(). Certifique-se de que você está chamando essa função no momento adequado, após a impressão do mapa. Caso contrário, a memória alocada para o mapa não será liberada corretamente.

Por fim, verifique se o arquivo "mapa.txt" contém o mapa no formato esperado, com os números de linhas e colunas na primeira linha e o mapa em si nas linhas seguintes. Certifique-se de que não há caracteres extras ou formatação incorreta no arquivo.

Espero que essas sugestões possam ajudar a resolver o problema. Se ainda tiver alguma dúvida, estou à disposição!

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software