fopen() zawsze zwraca wartosc null.

0

Witam, jestem w trakcie pisania projektu z OpenGLa, wiec potrzebuje wykorzystac funkcje zamieniajaca bitmape do odpowiedniego formatu zeby uzyc jej jako tekstury. Problem jednak lezy w tym ze nawet nie moge otworzyc zadnego pliku. Oto kod:

unsigned char * LoadBitmapFile(char *filename, BITMAPINFOHEADER *bitmapInfoHeader)
{
    printf("start");
	FILE *filePtr;
	BITMAPFILEHEADER bitmapFileHeader;
	unsigned char *bitmapImage;
	int imageIdx =0;
	unsigned char tempRGB;

	filePtr = fopen (filename, "rb");
	printf("otwieram plik");
	if (filePtr == NULL)
	{
	    printf("plik pusty");
	    return NULL;
	}
 ...
 

Zawsze wpada w tego ifa i konczy dzialanie funkcji, przez co caly program cierpi na brak tekstur >.<

0

Ok, znalazlem przyczyne, musze podac pelna sciezke do pliku, tylko dlaczego nie dziala jak dana bitmape mam tam gdzie pliki z kodem podczas kompilacji? :|

0

Może .exe wrzuca do innego folderu niż kod, w stylu \debug, wtedy w nim musisz umieścić wczytywane pliki.

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