1
resposta

Não aparece nada no prompt.

Meu código está idêntico ao do professor, porém não aparece nada. O que posso estar fazendo de errado?

Ps.: Uso o DevC++.

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

/* run this program using the console pauser or add your own getch, system("pause") or input loop */

char** mapa;
int linhas;
int colunas;
int i;

void AlocaMapa(){
    mapa = malloc(sizeof(char*) * linhas);

    for(i = 0; i < linhas; i++){
        mapa[i] = malloc(sizeof(char) * (colunas + 1));
    }
}

void LeMapa(){
    FILE* f;
    f = fopen("mapa.txt", "r");

    fscanf(f, "%d %d", &linhas, &colunas);

    AlocaMapa();

    for(i = 0; i < 5; i++){
        fscanf(f, "%s", mapa[i]);
    }
    fclose(f);
}

void LiberaMapa(){
    for(i = 0; i < linhas; i++){
        free(mapa[i]);
    }

    free(mapa);
}

int main(int argc, char *argv[]) {

    LeMapa();

    for(i = 0; i < 5; i++){
        printf("%s\n", mapa[i]);
    }


    LiberaMapa();

    return 0;
}
1 resposta

O conteúdo do arquivo mapa.txt também certo? O arquivo existe? Tá na mesma pasta do programa?