Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] wczytywanie danych z pliku do tablic

Ostatnio zmodyfikowano 2015-01-27 22:26
Autor Wiadomość
luuuzik
Temat założony przez niniejszego użytkownika
[C++] wczytywanie danych z pliku do tablic
» 2015-01-27 16:38:57
Witam, mam mały problem odnośnie wczytywania liczb z pliku do tablic. Przykład wygląda następująco:
Mam plik o nazwie "liczby.txt z danymi:
5249 65842
54924 68319
2145 3264

Chciałbym się dowiedzieć, w jaki sposób można je wczytać do tablic: "prawa[3]" oraz "lewa[3]" tak aby to wyglądało:
lewa[0]|prawa[0]
lewa[1]|prawa[1]
lewa[2]|prawa[2]

Moje drugie pytanie jest takie, jak wczytać dane do tablic jeżeli są one rozdzielane znakiem ";"?
Przykład:
PESEL;Nazwisko;Imie;Plec;Wiek;Id_przedszkola
p06262204017;Swistek;Damian;chlopiec;6;1
p06280601672;Kowalik;Mateusz;chlopiec;6;17
p06291509505;Hintzke;Nikola;dziewczynka;6;5
p06300202830;Grzelecki;Oliwier;chlopiec;6;23

Gdzieś wyczytałem że można użyć formy np. getline(plik,pesel,';')
To prawda?
P-125616
Chev_Chelios
» 2015-01-27 17:26:10
Np cos takiego:


int i=0;
while(!plik.eof())
    {

   std::string sWiersz;
   std::getline(plik, sWiersz); // czytasz wiersz z pliku

   char *temp = new char[sWiersz.length() + 1]; // dynamiczne przydzielenie pamieci do zmiennej tymczasowej
   char *pch = strtok(temp,";"); //czytasz z pobranej lini od lewej do znaku ";"
   strcpy(temp, sWiersz.c_str());

    // zm 1 w wierszu
    if(pch != NULL)
    {
tabl[i]= pch;
pch = strtok(NULL, " ");
    }else{break;}

    //zm 2 w wierszu
    if(pch != NULL){
tabl[r]= pch;
pch = strtok(NULL, " ");
     }else{break;}

   i++;
}
P-125622
Monika90
» 2015-01-27 18:20:32
Chciałbym się dowiedzieć, w jaki sposób można je wczytać do tablic: "prawa[3]" oraz "lewa[3]" tak aby to wyglądało:
Wczytać w pętli. To przecież proste.


Gdzieś wyczytałem że można użyć formy np. getline(plik,pesel,';')
To prawda?
Tak.

Liczby możesz wczytać zwyczajnie, operatorem >>, a potem pominąć średnik za pomocą plik.get()
P-125626
luuuzik
Temat założony przez niniejszego użytkownika
» 2015-01-27 22:26:18
Ok, poszło
P-125641
« 1 »
  Strona 1 z 1