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

Dlaczego wyświetla błąd w odczycie pliku

VPS Starter Arubacloud
0 głosów
173 wizyt
pytanie zadane 7 marca 2021 w C i C++ przez KitKetPolska Nowicjusz (240 p.)

Poproszę was o pomoc, nie mam zielonego pojęcia dlaczego wyświetla błąd. Bład wyświetla się przy getlinie w funkcji Odczyt.  Z góry bardzo dziękuje.

#include <iostream>
#include <vector>
#include <fstream>
#include <cstdlib>

using namespace std;

struct Liczba
{
    float L1;
    float L2;
};
void Odczyt(float, vector<Liczba> &);
void Wyswietl_liczba(Liczba &);

void Wyswietl_liczba(Liczba & tmp){
    cout << "Liczba: " << tmp.L1 << endl;
}


void Odczyt(string sine,vector<Liczba> & Liczby){
    ifstream Plik(sine);
    Liczba tmp;
    int Rozmiar_sine;
    if (Plik.is_open())
  {
     Plik >> Rozmiar_sine;
     cout << "Rozmiar vectora: " << Rozmiar_sine + 1 << endl;
    for(int i=0;i<Rozmiar_sine;i++){
        Plik.get();
        getline(Plik, Liczby[i].L1);

        Liczby.push_back(tmp);
    }
        Plik.close();
  }
  else
  {
    cout << "Nie udalo sie otworzyc pliku";
  }
 }

int main()
{
    vector <Liczba> Liczby;
    Odczyt("sine.txt",Liczby);
    for (int i=0;i<Liczby.size();i++)
    {
        Wyswietl_liczba(Liczby[i]);
    }


    cout << "Hello world!" << endl;
    return 0;
}

 

1 odpowiedź

0 głosów
odpowiedź 7 marca 2021 przez j23 Mędrzec (195,220 p.)

To jak, funkcją getline, która służy do czytania linii tekstu do std::stringa, próbujesz czytać wartość typu float (i to jeszcze do obiektu, który nie istnieje)?

Nie wystarczy po prostu:

float L1;

while (Plik >> L1)
    Liczby.push_back({ L1, 0 });

?

Podobne pytania

+1 głos
3 odpowiedzi 520 wizyt
0 głosów
2 odpowiedzi 179 wizyt

92,840 zapytań

141,781 odpowiedzi

320,857 komentarzy

62,173 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...