[C++] Wczytywanie znaków do tablicy dwuwymiarowej z pliku

Awatar użytkownika
Peter Zof
Użytkownik
Użytkownik
Posty: 585
Rejestracja: 30 cze 2012, o 16:07
Płeć: Mężczyzna
Lokalizacja: Warszawa (MIMUW) / Pułtusk
Podziękował: 88 razy
Pomógł: 66 razy

[C++] Wczytywanie znaków do tablicy dwuwymiarowej z pliku

Post autor: Peter Zof »

Witam, mam taki pliczek tekstowy w którym zawarta jest taka treść:

xxxxxxxx
x........x
x........x
xxxxxxxx

W programie mam taką tablicę:

Kod: Zaznacz cały

char tab[n][m]
Chciałbym, po prostu aby tablica ta zawierała odpowiednie elementy z pliku w odpowiednim miejscu, tj. aby lewy górny "x" wpisany został do tab[0][0].

Napisałem taki kod:

Kod: Zaznacz cały

#include <fstream>

std::ifstream mapFile;
char tab[10][10];//przykładowo , tak na prawdę ta tablica jest globalna

mapFile.open("plik.txt", std::ios::in | std::ios::out);

for(int i=0;i<10;i++)
{
    for(int j=0;j<10;j++)
    {
        mapFile >> tab[i][j];
     }
}
Później (w innej funkcji) gdy odczytuję elementy tablicy to coś jest nie tak, ponieważ daje tam w pętli odczytującej warunek:
if(tab[j] == 'x')
app.close(); //zamknij aplikacje


Aplikacja się jednak nie zamyka, czyli coś jest nie tak. Bardzo proszę o pomoc! :)
Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C++] Wczytywanie znaków do tablicy dwuwymiarowej z pliku

Post autor: Ser Cubus »

1) po co otwierasz plik w trybie zapisu, używasz tego gdzieś?
2) to co podałeś nad kodem ma 8 znaków długości, więc oczywiście źle się to wczyta do tablicy

Co do zamykania aplikacji, to ten fragment jest popranie napisany. Pokaż cały kod
Awatar użytkownika
Peter Zof
Użytkownik
Użytkownik
Posty: 585
Rejestracja: 30 cze 2012, o 16:07
Płeć: Mężczyzna
Lokalizacja: Warszawa (MIMUW) / Pułtusk
Podziękował: 88 razy
Pomógł: 66 razy

[C++] Wczytywanie znaków do tablicy dwuwymiarowej z pliku

Post autor: Peter Zof »

Podałem na górze przykładowo, tak na prawdę w pliku mam 10x10.
Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C++] Wczytywanie znaków do tablicy dwuwymiarowej z pliku

Post autor: Ser Cubus »

zaraz po wczytaniu, wypisz tablicę na ekran i pokaż co tam masz
Awatar użytkownika
Peter Zof
Użytkownik
Użytkownik
Posty: 585
Rejestracja: 30 cze 2012, o 16:07
Płeć: Mężczyzna
Lokalizacja: Warszawa (MIMUW) / Pułtusk
Podziękował: 88 razy
Pomógł: 66 razy

[C++] Wczytywanie znaków do tablicy dwuwymiarowej z pliku

Post autor: Peter Zof »

Wydruk był tragiczny, program wczytał mi do tablicy znaki, ale nie umieścił znaków nowej linii.
Ser Cubus
Użytkownik
Użytkownik
Posty: 1406
Rejestracja: 6 maja 2012, o 22:46
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 107 razy
Pomógł: 145 razy

[C++] Wczytywanie znaków do tablicy dwuwymiarowej z pliku

Post autor: Ser Cubus »

a czemu miałby to zrobić? Nie przewidziałeś tego w swoim programie

Kod: Zaznacz cały

for(int i=0;i<10;i++)
{
    for(int j=0;j<10;j++)
    {
        std::cout << tab[i][j];
     }
      std::cout << std::endl;
}
wypisz to w ten sposób
ODPOWIEDZ