Pessoal estou com um pequeno problema...
Meu código está igual ao código do professor da Aula 1- Vídeo 2, porém quando eu leio o arquivo "mapa.txt" , ele faz um leitura incorreta. Segue meu código e o resultado que recebo depois de rodar.
Esse é meu código no momento:
#include <stdio.h>
#include <stdlib.h>
char matrix[5][10];
int main()
{
FILE* f;
f = fopen("mapa.txt","r");
if (f==0){ //tratamentto de erro
printf("Erro de leitura do arquivo do mapa! \n");
}
int i;
for (i = 0; i<5; i++){
fscanf(f,"%s",matrix[i]);
}
for (i = 0; i<5; i++){
printf("%s\n",matrix[i]);
}
printf("\n");
fclose(f);
return 0;
}
Esse é o conteúdo do meu arquivo "mapa.txt":
|--------|
|...|..-.|
|.._|.@..|
|......_.|
|--------|
E esse é meu resultado:
|--------||...|..-.||.._|.@..||......_.||--------|
|...|..-.||.._|.@..||......_.||--------|
|.._|.@..||......_.||--------|
|......_.||--------|
|--------|
Process returned 0 (0x0) execution time : 0.019 s
Press any key to continue.
Me parece que ele está lendo o arquivo, mas parece que ele não interpreta que uma linha acabou e continua a leitura de todas e coloca tudo na primeira posição. Depois o "ponteiro" faz essa varredura completa a partir da segunda linha e assim em diante...
Estou usando Code::Blocks para escrever, compilar e rodar meu código.