Hallo,
ich wollte die Daten einer Datei (bmp) in ein array schreiben. Um zu bestimmen wie lang die datei ist benutze ich GetFileSize. Leider gibt das mir einen wert von 4,2GB aus obwohl mein bmp nur 1,3MB groß ist. wer kann mir den da helfen?
im voraus schon mal Danke
ich wollte die Daten einer Datei (bmp) in ein array schreiben. Um zu bestimmen wie lang die datei ist benutze ich GetFileSize. Leider gibt das mir einen wert von 4,2GB aus obwohl mein bmp nur 1,3MB groß ist. wer kann mir den da helfen?
Code:
bool Bildverarbeitung::LoadPic(System::String ^File)
{
// Open File
LPCSTR PfadName= "C:\\1_L_1.bmp";
HANDLE hFile=CreateFile((LPCWSTR)PfadName,
GENERIC_READ,
0, //FILE_SHARE_READ
NULL,
OPEN_EXISTING,
0, //FILE_ATTRIBUTE_NORMAL
NULL);
// Lesen des gesamten Files in den Speicher
DWORD numBytesRead=0; // Wieviele Bytes wurden gelesen
FileSize=GetFileSize(hFile,NULL); // Bestimmt dateigröße in Bytes (unsigned char)
FileData =(unsigned char*)malloc(FileSize); // reserviert speicher
ReadFile(hFile,FileData,FileSize,&numBytesRead,NULL); //schreibt File in speicher
...
}
im voraus schon mal Danke