Wczytywanie danych z pliku
Ostatnio zmodyfikowano 2016-06-15 23:45
markiet Temat założony przez niniejszego użytkownika |
Wczytywanie danych z pliku » 2016-06-15 20:09:40 Chce wczytać dane z pliku ale niestety po wyswietleniu wyskakuja mi same 0:
int main(int argc, char** argv) { char Mapa[20][20]; int i, j; std::ifstream plik; plik.open("grid.txt");
if (plik.good()== true) { for (i=0; i<20; i++) { for (j=0; j<20; j++) { plik >> Mapa[j]; } } plik.close(); } else { cout << "Nie mozna otworzyc pliku"; return - 1; } for (i=0; i<20; i++) { for (j=0; j<20; j++) { cout <<" " << Mapa[j]; } cout << endl; } cin.ignore(); //gerchar(); return 0; }
A dane w pliku wyglądają tak:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 0 5 0 0 0 0 0 0 0 0 0 5 5 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 5 0 0 5 5 5 5 5 5 5 0 0 0 5 0 0 0 0 0 0 5 0 0 5 0 0 0 0 0 5 0 0 0 5 0 0 0 0 0 0 5 0 0 5 0 0 0 0 0 5 0 0 0 5 5 5 5 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 5 0 0 0 0 5 5 5 5 5 5 5 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 0 5 5 0 0 5 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 5 0 0 5 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 5 0 0 5 0 0 0 0 0 0 0 |
|
HoulScream |
Odpowiedź » 2016-06-15 21:05:59 Zapomniałeś o drugim wymiarze tablicy przy pobieraniu i wyświetlaniu danych. Rozwiązanie: #include <iostream> #include <fstream> using namespace std;
int main( int argc, char ** argv ) { char Mapa[ 20 ][ 20 ]; int i, j; std::ifstream plik; plik.open( "grid.txt" ); if( plik.good() == true ) { for( i = 0; i < 20; i++ ) { for( j = 0; j < 20; j++ ) { plik >> Mapa[ j ]; } } plik.close(); } else { cout << "Nie mozna otworzyc pliku"; return - 1; } for( i = 0; i < 20; i++ ) { for( j = 0; j < 20; j++ ) { cout << " " << Mapa[ j ]; } cout << endl; } cin.ignore(); return 0; }
|
|
carlosmay |
» 2016-06-15 23:45:25 Czytaj między wierszami. [ i ] włącza kursywę i znika bez formatowania kodu. Czy ścieżka do pliku jest prawidłowa? PS: ... dobre środowiska same zatrzymują działanie działanie programu przed zamknięciem konsoli. |
|
« 1 » |