Petla wykonuje sie o jeden raz za dużo, co z tym mozna zrobić?
plik.close();
fstream plik;
plik.open("plik.txt");
if(plik.good()){
while(plik.eof()==0){
plik>>tablica[i];
i++;
}
}
plik.close();
Petla wykonuje sie o jeden raz za dużo, co z tym mozna zrobić?
plik.close();
fstream plik;
plik.open("plik.txt");
if(plik.good()){
while(plik.eof()==0){
plik>>tablica[i];
i++;
}
}
plik.close();
Na koncu pliku nie masz jakiegos bialego znaku?
Ban na google? :)
http://stackoverflow.com/questions/8236006/c-eof-running-one-too-many-times
tak na szybko, prościej chyba by było tak:
{
ifstream f("plik.txt");
using T = decltype(tablica[0]);
copy(istream_iterator<T>(f), istream_iterator<T>(), begin(tablica));
}
ifstream plik("plik.txt");
for(size_t i=0;(i<tablicaSize)&&(plik>>tablica[i]);++i) {}
plik.close();
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.