• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

wczytywanie tekstu

0 głosów
126 wizyt
pytanie zadane 10 października 2018 w C i C++ przez lost one Nowicjusz (170 p.)

Mam taki problem. Chcę wczytać dane, każda linika do innej zmiennej, nie wiem ile będzie linijek, ani zmiennych.

Np.

fstream plik;
    plik.open("slowka.txt", ios::in);

    if(plik.good()==false) cout<<"Nie mozna otworzyc pliku!";

    SLOWKA_ENG = 0;
    SLOWKA_POL = 0;
    while(!plik.eof())
    {
        getline(plik, S[SLOWKA_ENG] = linia); // tutaj jest problem bo wczytuje zawsze 1 i 2 linijkę, a chce żeby wczytywało 1, 2 ,3 itd.//
        getline(plik, SS[SLOWKA_POL] = linia);

         cout<<SS[POL]<<endl;
        cin>>DP;
        if (DP == S[POL])
        {
            cout<<"DOBRZE!"<<endl;
        }
        else{
            cout<<"ZLE! prawidlowa odpowiedz:   "<<S[SLOWKA_ENG]<<endl;
        }


        SLOWKA_ENG++;
        SLOWKA_POL++;

    }
    plik.close();

 

komentarz 11 października 2018 przez garris Użytkownik (630 p.)
Nie rozumiem problemu, ale napisz dokładniej
komentarz 11 października 2018 przez DragonCoder Pasjonat (19,130 p.)
W pliku znajduje sie x linijek tekstu, kazda z linijek ma zostac przypisane do jednej zmiennej. To jest zalozenie problemu. Wiec musisz miec tablice, ktora bedzie sie automatycznie powiekszac.

2 odpowiedzi

+2 głosów
odpowiedź 11 października 2018 przez j23 Szeryf (97,580 p.)
wybrane 11 października 2018 przez lost one
 
Najlepsza

Użyj klasy std::vector.

komentarz 11 października 2018 przez lost one Nowicjusz (170 p.)
Dobrze. Jak wczytywać linijki tekstu i przypisać do zmiennej? Chodzi mi o to,że program będzie wczytywał i przypisywał do zmiennej aż do zakończenia tekstu...
komentarz 11 października 2018 przez j23 Szeryf (97,580 p.)
std::vector<std::string> vec;
std::string line;

while(std::getline(plik, line)) { vec.push_back(std::move(line)); }

 

0 głosów
odpowiedź 11 października 2018 przez mokrowski VIP (101,860 p.)
std::vector<std::string> data;
for(std::string line; std::getline(file, line); data.emplace_back(std::move(line))) {}

 

Podobne pytania

0 głosów
2 odpowiedzi 61 wizyt
pytanie zadane 13 grudnia 2018 w C i C++ przez GóralGienek Nowicjusz (240 p.)
+1 głos
3 odpowiedzi 145 wizyt
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

62,327 zapytań

108,464 odpowiedzi

226,431 komentarzy

35,188 pasjonatów

Przeglądających: 143
Pasjonatów: 4 Gości: 139

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...