Wczytywanie liczb z pliku do tablicy

0

Witam,
Mam pewien problem. Może, dla niektórych, wydać się łatwy do rozwiązanie, ale ja dopiero zaczynam przygodę z C++. Otóż potrzebuje wczytać liczby z pliku (zapisane jedna pod drugą) do tablicy. Kod wygląda w ten sposób:


double obr[40000]
for (int i=0; i<=39999; i++)
    {
        ifstream obraz("obraz.txt", ios::in);
        obraz.getline(obraz, obr[i]);
        obraz.close();
    }

Niestety otrzymuję błąd: cannot convert parametr 1 'std::ifstream' to 'char *'

Z góry dziękuję za pomoc

0
  1. Źle wołasz getline(). Skoro robisz obraz.getline() to nie musisz już przekazywać "obraz" jako parametru
  2. 
    double obr[40000]
    ifstream obraz("obraz.txt", ios::in);
    for (int i=0; i<=39999; i++)
    {
      obraz >> obr[i];
    }
    obraz.close();

3. Czemu cały czas otwierasz i zamykasz plik? W ten sposób wczytasz tylko 1 liczbę 40k razy...
0
Shalom napisał(a):
  1. Źle wołasz getline(). Skoro robisz obraz.getline() to nie musisz już przekazywać "obraz" jako parametru

double obr[40000]
ifstream obraz("obraz.txt", ios::in);
for (int i=0; i<=39999; i++)
{
obraz >> obr[i];
}
obraz.close();

> 3. Czemu cały czas otwierasz i zamykasz plik? W ten sposób wczytasz tylko 1 liczbę 40k razy...

3. Nie wiem :). Tak jak pisałem, stawiam pierwsze kroki. Teraz, jak to napisałeś, wydaje się to oczywiste. Niestety po kilku godzinach już coraz gorzej z logicznym myśleniem.
Dzięki za pomoc, działa :)
0

Tak swoją drogą, ta pętla będzie czytelniejsza zapisana następująco:

for (unsigned i=0; i<40000; i++)

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