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

Não aparece o mapa

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
|--------|
|...|..-.|
|..-|.@..|
|......-.|
|--------|
2 respostas
solução!

Olá, Luiza! Tudo bem?

Rodei seu código aqui e funcionou direitinho.

Continua não mostrando para você?

Qual o editor você está utilizando?

Tela do Visual Studio Code onde temos três programas e um arquivo txt aberto. Abaixo temos um trecho de código em C. Na parte inferior temos o terminal com o mapa do jogo desenhado

Aguardo retorno!

Oi Larissa, estou usando o Dev C++ . Até ontem não estava aparecendo o mapa, mas agora pouco, quando eu compilei, eu queria tirar print da tela para mostrar , mas quando eu fui tirar print começou a funcionar. De qualquer forma, obrigada pela atenção.

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