Witam wszystkich forumowiczów :)
Mam problem z programem który wczytuje dane z pliku, a następnie sumuje wszystkie liczby jakie w nim występują.Program działa poprawnie jeśli po ostatniej liczbie jest spacja, natomiast jeśli jej nie ma program pomija ostatnią liczbę np: 98 102, jeśli po 102 nie ma spacji wynikiem będzie 98, nie 200.Czy ktoś może mi powiedzieć jaki robię błąd(Nie zwracajcie uwagi na brak sprawdzania czy plik się otworzył, na składnie kodu itd. Przypominam sobie po prostu pracę z plikami)
O to kod:
#include <iostream>
#include <fstream>
using namespace std;
long long loadfile(string);
int main()
{
string name;
cout<<"Wpisz nazwe pliku: ";
cin>>name;
cout<<"Suma wynosi: "<<loadfile(name);;
return 0;
}
long long loadfile(string nazwa)
{
fstream file;
file.open(nazwa.c_str());
int sum=0;
int bufor;
while(true)
{
file>>bufor;
if(file.good())
sum+=bufor;
else {return sum; file.close();}
}
}
Z góry dziękuje za pomoc.