Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: sprawdzanie całego plik w poszukiwaniu danych  (Przeczytany 1376 razy)

KelThuzad

  • Gość
sprawdzanie całego plik w poszukiwaniu danych
« dnia: 2016-08-22, 20:46:06 »
Mam pewien problem z wyszukiwaniem danych w pliku jak mój plik wugłada tak:
dane.txt
800
pusta linia
pusta linia
i tak dalej

To wszystko działa ok
Ale jak zrobie plik taki:
dane.txt
pusta linia
pusta linia
pusta linia
pusta linia
800
To program zwraca mi że dane nie są liczbami więc chciałem zrobić by przeszukiwał cały plik ale mam problem. Po pierwsze to nie działa :) a po drugie znowu QT creator nie podpowiada mi jak chce zrobić file.eof() nie widzi eof i tak samo w programie nie działa mi podpowiedz w file.good() chociaż ta ostatnia funkcja działa poprawnie.
std::string my_file::add_budget()
{
    std::string line;
    while ( !file.eof() )
    {
        std::getline( file , line );
    }
    return line;
}

Filystyn

  • Gość
Odp: sprawdzanie całego plik w poszukiwaniu danych
« Odpowiedź #1 dnia: 2016-08-23, 13:46:35 »
W C++ lepiej sprawdzian eof se darować bo się źle kończy (poszukać innej metody na koniec pliku, możliwe że umieszczenie getline w while da rade). Jak to zrobić w C?

// radośnie założę, że 300 bajtów wystarczy.
const size_t buff_siz = 300;
char buff[buff_siz];
for(;fgets( buff, buff_size, file )!=NULL;) {
 
  //tu coś rób z danymi.
 
}

//wszelkie błędy jak sprawdzać przeczytasz w man funkcja.
« Ostatnia zmiana: 2016-08-23, 14:12:33 wysłana przez Filys »