• 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
Wynikowy wygląd pytania, odpowiedzi czy komentarza, różni się od tego zaprezentowanego w edytorze postów. Stosuj więc funkcję Podgląd posta znajdującą się pod edytorem, aby upewnić się, czy na pewno ostateczny rezultat ci odpowiada.Podgląd posta

62,327 zapytań

108,464 odpowiedzi

226,431 komentarzy

35,188 pasjonatów

Przeglądających: 159
Pasjonatów: 4 Gości: 155

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.

...