Skocz do zawartości

Insert() Z Klasy Qstring W Pętli Zawiesza Program


bender88

Rekomendowane odpowiedzi

Piszę program w qt3 który ma dodawać znaczniki kolorów z bbcode w określonych miejscach w tekście. Konkretnie ma służyć do kolorowania rozmów z psi. Problem w tym, że funkcja, która to robi zawiesza program.

 

Sprawdzałem wartości licznika po zakomentowaniu polecenia z insert i są prawidłowe. Sama metoda insert poza pętlą też działa tak jak powinna. Dopiero po połączeniu sypie się program.

 

#include <qregexp.h>

void Form3::koloruj()
{
  QString input=textEdit3->text();
  int i=0;
  while( (i = input.find( QRegExp("aa") , i  ) ) != -1)
   {
      input.insert(i, "tekt");     
      i++;
   }
  textEdit2->setText(input);
}

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

Czym to kompilujesz? Używasz jakiś flag optymalizacyjnych, albo jakiegoś nowego gcc? Może spróbuj z nieśmiertelną wersją 2.9.x lub 3.x.

Nie znam zupełnie tej funkcji, ale używając stream.find a potem stream.insert prawdopodobnie przesuwasz stream pointer w niedozwolony sposób.

Tylko to mi do głowy przychodzi. Powodzenia!

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...