Czytanie/kopiowanie do pliku

0

Witam!
Staram się zrobić program, który tworzy plik o rozszerzeniu bmp i skopiuje do niego zawartość już istniejącego. Niestety, nie mogę wczytać całej zawartości, bo już przy pierwszym "fwrite", wyrzuca mi błąd. Nie wiem w ogóle, czy ten kod ma odpowiedni kształt, ale zrobiłem to analogicznie do fread'a (gdy czytałem informacje z obrazka).
Mógłby ktoś rzucić okiem co może być nie tak? :)
Może chodzi o to, że trzeba zrobić jakieś miejsce w tym pliku na te dane (z FileHeader i InfoHeader)? Nie mogę nic na ten temat znaleźć.

FILE *picture = fopen("ObrazWPliku.bmp", "wb");
if (picture!=NULL)
		{
			//FileHeader
			fwrite(&odczytywanie.Bitmapa, 2, 1, picture);
			fwrite(&odczytywanie.rozmiar, 4, 1, picture);
			fwrite(&odczytywanie.reserved1, 4, 1, picture);
			fwrite(&odczytywanie.reserved2, 4, 1, picture);

			// InfoHeader

			fwrite(&odczytywanie.reserved3, 4, 1, picture);
			fwrite(&odczytywanie.szerokosc, 4, 1, picture);
			fwrite(&odczytywanie.wysokosc, 4, 1, picture);
			fwrite(&odczytywanie.planes, 2, 1, picture);
			fwrite(&odczytywanie.BitCount, 2, 1, picture);
			fwrite(&odczytywanie.Compresion, 4, 1, picture);
			fwrite(&odczytywanie.ImageSize, 4, 1, picture);
			fwrite(&odczytywanie.XPixel, 4, 1, picture);
			fwrite(&odczytywanie.YPixel, 4, 1, picture);
			fwrite(&odczytywanie.ColorsUsed, 4, 1, picture);
			fwrite(&odczytywanie.ColorsImportant, 4, 1, picture);

			for (i = 0; i < odczytywanie.wysokosc[0]; i++)
			{
				for (j = 0; j < odczytywanie.szerokosc[0]; j++)
				{
					fwrite(&colors[i][j].blue, 1, 1, picture);
					fwrite(&colors[i][j].green, 1, 1, picture);
					fwrite(&colors[i][j].red, 1, 1, picture);
				}
			}

		}
0

jaki blad?
co to jest odczytywanie i czemu raz jest wartosc ze wskaznika a pozniej adres wskaznika?
uzywales debuggera?

0
fasadin napisał(a):

jaki blad?
co to jest odczytywanie i czemu raz jest wartosc ze wskaznika a pozniej adres wskaznika?
uzywales debuggera?

A, przepraszam, mój błąd z tym wskaźnikiem na adres, ale to nic nie zmienia. Już edytowałem. Odczytywanie to struktura z informacjami z odczytanego wcześniej pliku bmp. Debuggera użyłem, błąd wyskakuje dopiero przy "wejściu" w konkretną linijkę kodu z "fwrite" (ustawiam tam flagę) i po przejściu wyskakuje okienko: "nazwapliku.exe has triggered a breakpoint". W liście błędów nie widzi problemów, dlatego nie wiem o co mu może chodzić.

0

UP! Stanąłem przez to w miejscu. Wie ktoś o co może chodzić? Miał ktoś kiedyś podobny problem?

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