c++ Debuger - dziwny problem

0

Hmm, z dziwną sprawą się spotkałem. Mianowicie tablicę char może być referencją w pierwszej części wykonania kodu (warunek if), zaś w drugiej części nie (warunek if-else). Aha, chcę zaznaczyć, że katowałem to jak mogłem, nie doszedłem do tego, dlaczego otrzymuje błąd krytyczny debugera - kod skompilowany.
Kod:

char str3[30];

...
for(int i = 0; i < 50; i++)
{
	if(fgets(str3,30,file) != NULL)
	{
	      if(strstr(str3,str2) != NULL)
	      {
		  strcpy(str4,str2);
		  strcat(str4,source);
                  strcat(str4,str3) - jeśli tablica char o nazwie 'str3' umieszczę tutaj jest wszystko ok, lecz..
             }
	     else
	    {
		   strcat(str4,str3); .. gdy go umieszczę tutaj, debuger zatrzymuje cały program. Dlaczego?
	    }
	}
}

Naprawdę, kombinowałem, kombinowałem i nic z tego... ;/

0

A co się znajduje w str4? Jest tam poprawny c-string, czy może jakieś śmieci? Jeśli to drugie, masz odpowiedź.

0

Ahh śmieć, no tak! A jak sprawdzić czy znak jest pusty?

EDIT: Ok dzięki, uporałem się z tym :)

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