• 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
123 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 (610 p.)
Nie rozumiem problemu, ale napisz dokładniej
komentarz 11 października 2018 przez DragonCoder Pasjonat (16,070 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 (85,040 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 (85,040 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 Szeryf (95,020 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 57 wizyt
pytanie zadane 13 grudnia 2018 w C i C++ przez GóralGienek Nowicjusz (240 p.)
+1 głos
3 odpowiedzi 128 wizyt
Porady nie od parady
Komentarze do pytań nie służą do odpowiadania, od tego jest wydzielona sekcja odpowiedzi. Funkcją komentarzy jest natomiast możliwość uzyskania dodatkowych informacji na temat samego posta.Komentarze

59,199 zapytań

104,616 odpowiedzi

216,478 komentarzy

31,592 pasjonatów

Przeglądających: 152
Pasjonatów: 4 Gości: 148

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.

...