Aktywne Wpisy
Ytarka +183
No to co, ja idę spać, bo jeszcze przecież Sylwester dziś, a Wam życzę, żeby w ciągu następnego roku spełniło się przynajmniej jedno z Waszych ważnych marzeń. Bo mi się w tym, spełniło kilka i zamierzam podtrzymać tę passę.
Dziękuję za uwagę, dobranoc.
#sylwesterzwykopem #pokazmorde
Dziękuję za uwagę, dobranoc.
#sylwesterzwykopem #pokazmorde
WielkiNos +194
Oceńcie outficik na dzisiejszą noc ( ͡º ͜ʖ͡º)
Czy jestem w stanie iterować po tekście w pliku w miare sensowny sposób tak jak po tablicy charów?
Piszę program wyszukujący wzorzec w tekście z zastosowaniem algorytmu Karpa-Rabina i staram się uniknąć sytuacji, gdzie będę musiał zasysać wszystko do stringa (domyślnie będą to duuże teksty)
Lepiej zrobić sobie klasę trzymającą fragment pliku w buforze i pobierający nowy fragment gdy potrzebny i usuwający stare fragmenty.
Dłużej trwa dostęp do pliku niż pobranie większego fragmentu i znalezienie nowej linii.
Przykładowe rozwiązanie: https://pastebin.com/GYsuVTWH
operator[]
zwraca znak z danej pozycji, jeśli nie należy do aktualnie pobranego bufora, to go pobiera, zatem zawsze zwróci odpowiedni znak. Można pokusić się o trzymanie 2 buforów, żeby zawsze mieć dostęp do poprzedniego.@Lacwik: protip: nie używaj
std::fstream
istd::string
, tylko POSIX-owegommap
, jeśli zależy ci na największej wydajnościmmap
robi nawet to, co chcesz, czyli mapuje plik na tablicę. Co prawdavoid*
, ale wystarczy ją zrzutować nachar*
. Tu masz mały przykład programu, który liczy wystąpienia literya
: https://pastebin.com/hUCvZGqd