Jak poprawnie wstawić do pętli funkcję EOF?

Jak poprawnie wstawić do pętli funkcję EOF?
BU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

Podczas próby odczytania danych z pliku przy pętli while pojawia się błąd następującej treści:
[code]
23 E:\Projekt\main.cpp expected unqualified-id before '(' token
[/code]

Ilość nawiasów zarówno klamrowych jak i okrągłych została już sprawdzona przez kilku moich kolegów jak i przeze mnie, niestety nie odnaleźliśmy błędów. Może popełniłem błąd gdzieś przy funkcji FILE.EOF() ? Proszę o pomoc.

Kod źródłowy:
[code]
//----------------------------
{ //Odczyt danych z pliku do tablicy
ofstream plik;
string zrodlo;
if(plik.good())
{
plik.open("database.txt");
while (!plik.EOF());
{
getline(cin, zrodlo);
}
plik.close();
}
else
{
cout << "Error! Nie odnaleziono pliku database.txt";
getch();
}
}

//---------------------------

[/code]

N9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 20
1

Ta funkcja zwie się eof, nie EOF. http://www.cplusplus.com/reference/iostream/ios/eof/

robcio
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Opole
  • Postów: 533
1

klasa ofstream nie ma takiej metody jak EOF musisz napisać to z małych liter a najlepiej załatw sobie jakieś IDE z podpowiadaniem składni.

BU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 7
0

No rzeczywiście, działa. Stosowałem prędzej eof pisany z małych liter, ale prawdopodobnie związane było to z tym, że pomyliłem zmienne. Zamiast do plik wpisywałem to do źródło. Dzięki i sory za właściwie głupi temat ^^

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.