Wpis z mikrobloga

@Lacwik: Jak sam błąd mówi, wychodzisz gdzieś poza zakres w stringu.

EDIT: Sprawdź wszystkie pętle w programie. Szczególnie tam, gdzie poruszasz się po indeksach w stringu.
  • Odpowiedz
@artikow może inaczej, dla małego tekstu i wzorca działa zajebiście. Problem polega na tym, że mam wzorzec długości do miliona znaków, tak samo jak tekst po którym sie poruszam. Nie moge znaleźć nigdzie informacji o zakresie stringa :/
  • Odpowiedz
@Lacwik: Ustaw asercję przed każdym odwołaniem do danego elementu stringa, tj. assert(pozycjaktórąpróbujeszczytać < stringlen). Wtedy wywoła to abort() i dostaniesz crash report, będziesz mógł dokładnie przeanalizować gdzie popełniasz błąd. Potem szukasz konkretnego indeksu dla którego masz problem na przykładzie testowym.

Tego się nie da zgadnąć samym patrzeniem na kod.
  • Odpowiedz
@Lacwik: w lini 29 masz wlasnie potencjalnie subscript out of range , gdy pattern jest dluzszy od wejscia, dalej nie chce mi sie szukac, dopal dobrego debugera i sprawdz, najlepiej gcc/clang + sanitizer :)
  • Odpowiedz