Wczytywanie danych z pliku tekstowego do tablicy(float)

0

Witam,

Piszę program, który ma za zadanie wczytać dane z pliku tekstowego, wykonać na nich obliczenia, i zapisać do innego pliku.

format danych w pliku wygląda tak,że w każdym wierszu są dwie liczby zmiennoprzecinkowe oddzielone spacjami.

Poniżej podaję przykładową treść pliku:

1.23 3.45

1 3

4.56 89.90

Problem napotkałem przy zapisywaniu danych z pliku do tablicy typu float. Napisałem taki kod:

 //dodalem fstream
fstream daneWejsciowe;
daneWejsciowe.open(wejscie,ios::in);
    if(daneWejsciowe.good())
    {
    while(getline(daneWejsciowe,bufor))
    {
        m++;
    }
    float Q[m+1],H[m+1],h[m+1],buf;
    int licznik=1;
     while(daneWejsciowe>>buf)
     {
 
         H[licznik]=buf;
 
         licznik++;
     }}

Niestety, zmienne w tablicy H wyglądają jak losowe śmieci z pamięci RAM.

Z góry dziękuję za pomoc.

0
    while(getline(daneWejsciowe,bufor))
    {
        m++;
    }

Po co to? Wczytujesz do bufora - linia po linii - całą zawartość pliku.

std::ifstream in(daneWejsciowe);
float a, b;
std::vector<std::pair<float, float>> read;
while(in >> a >> b)
    read.emplace_back(a, b);
0

Potrzebuję liczbę wierszy do dalszych obliczeń.

0

Sprawdzenie wielkości wektora jest właściwie darmowe.

0

Dziękuję, za pomoc.
Wcześniej nie stosowałem vectorów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1