Ich habe eine a.dat Datei in Ressource in VC++ Projekt in Visual Studio wie in documentation erzählt geladen.Wie speichert man Daten aus dem Ressourcenzeiger in einen statischen Puffer in C++?
Jetzt in meinem Haupt-Code, möchte ich von der Ressourcenzeiger diese Daten in einen statischen Speicherpuffer laden:
HRSRC myResource = ::FindResource(NULL, MAKEINTRESOURCE(IDR_RCDATA1), RT_RCDATA);
unsigned int myResourceSize = ::SizeofResource(NULL, myResource);
HGLOBAL myResourceData = ::LoadResource(NULL, myResource);
void* pMyBinaryData = ::LockResource(myResourceData);
Jetzt bin ich stucked, wie ein statischer Speicherpuffer und Speicherdaten von pMyBinaryData
erstellen Zeiger.
Kann jemand helfen, um dies zu lösen Bitte! Vielen Dank im Voraus.
My ** ** a.dat Datei ist ein binäres Datei. Wird das Speichern des Inhalts in einem ** char ** _buffer_ kein Problem verursachen? – Mavie
@Victor Gute Frage - aber 'char' ist der grundlegendste Typ in C. Man sollte meinen, es sollte" Byte "sein - aber das ist nicht mal einer der normalen Typen! 'malloc (size)' ist so definiert, dass ein Puffer von 'size'' char's zurückgegeben wird - oder null, wenn nicht genug Speicher vorhanden ist. Ein Array von 'char' ist was du willst; gehen Sie einfach nicht mit 'printf()' oder irgendetwas auf dem Array! –
Meine ** a.dat ** Datei ist etwa 97 MB. Kann ein Puffer dieser Größe erstellt werden? – Mavie