Boa noite gente. Por algum motivo, quando compilo o código no VSCode as linhas e colunas ficam zeradas como visto abaixo. Também é possível ver que ao alocar ele me da o endereço de memória ao invés do resultado. Porém, quando compilo no compilador do PC ele funciona normalmente e aparece linhas 5 e colunas 10,porém continua me dando o endereço de memória no lugar do resultado(linha abaixo do linhas 0 e colunas 0)
código:
#include <stdio.h>
#include <stdlib.h>
char** mapa;
int linhas;
int colunas;
int main() {
FILE* f;
f = fopen("mapa.txt", "r");
if(f == 0) {
printf("Erro na leitura do mapa\n");
exit(1);
}
fscanf(f, "%d %d", &linhas, &colunas);
printf("linhas %d colunas %d\n", linhas, colunas);
mapa = malloc(sizeof(char*) * linhas);
for(int i = 0; i < linhas; i++) {
mapa[i] = malloc(sizeof(char) * (colunas + 1));
}
for(int i = 0; i < 5; i++) {
fscanf(f, "%s", mapa[i]);
}
for(int i = 0; i < 5; i++) {
printf("%s\n", mapa[i]);
}
fclose(f);
for(int i = 0; i < linhas; i++) {
free(mapa[i]);
}
free(mapa);
}
mapa.txt:
5 10
|--------|
|...|..-.|
|..-|.@..|
|......-.|
|--------|
imagem: