Problem z funkcja string::substr i string::find

0

Witam. Pisząc program który przeszukuje plik w celu znalezienia danego ciągu natrafiłem na taki błąd.

 
string przerobka;
string pytanie;
 size_t poczatek, koniec;
for(int i=0; i<ile_bajtow; i++)
        przerobka[i] = bufor_tmp[i];
poczatek = przerobka.find("pytanie"); // na 100% to jest pliku
koniec = przerobka.find("&A"); // na 100% to jest w pliku
if(poczatek != string::npos || koniec != string::npos)
{
      pytanie = przerobka.substr(poczatek, koniec);
}
SetWindowText(pyt, pytanie.c_str());

Program się kompiluje.Niestety nie wiem czemu nie znajduje podanego ciągu(na pewno jest to w pliku).
Jeszcze jedna uwaga: jak podam obojętnie jakie wartości do substr to program wywala błąd 'runtime error'.
W czym problem?

0
poczatek = przerobka.find("pytanie");

if(poczatek != string::npos)
{
	koniec = przerobka.find("&A", poczatek);
	if(koniec != string::npos) //<--- w sumie to  jest zbędne.
	{
		pytanie = przerobka.substr(poczatek, koniec);
	}
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1