probleme mit virtueller datei erstellung
-
Hallo,
es gibt keine wirklich gute Methode in Standard-C++ die Dateigröße einer Datei zu bestimmen (im FAQ-Beitrag ist eine mehr oder weniger brauchbare beschrieben. Dein BS hat aber definitiv bessere Funktionen) und Zip-Archive kennt der Standard schon gar nicht. Dafür gibt es extra Bibliotheken, wie z.B. die zlib.Unter welchem BS soll deine Klasse arbeiten?
-
da ich im programm directx benutze, wirds wohl Windows sein

//edit und wo findet man denn ein tut in dem man lernt mit der zlib umzugehen?
-
Dieser Thread wurde von Moderator/in HumeSikkins aus dem Forum C++ in das Forum WinAPI verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Winapi?
GetFileSize
-
Zum Lesen von Zip-Files gibt's hier ein Tutorial:
http://www.scherfgen-software.net/index.php?action=tutorials&topic=zip
-
hmm, das sieht schonmal gut aus,aber ich brauchd afür nen handle,wie kann ich an den kommen?hab sogut wie keinen peil von der winapi

-
Was meinst du? Hast du dir das mal alles durchgelesen? Evtl. solltest du mit etwas einfacherem anfangen

-
ich meinte nich dein zip archiv, das hab ich gerafft, ich weis nur nich, wie ich bei getfilesize an den Handle der datei komme...
//edit willder nen einfachen zeiger, oder was ist handle für ein typ?
-
Ein File-Handle ist vom Typ HANDLE.
-
Das ist sinnlos, weil es sowieso von Windows ausgelagert wird. Du müsstest ein festes, also weder verschiebbares noch überschreibbares(löschbares), Speicherobjekt erstellen. Das geht mit Local- oder GlobalAlloc möglicherweise sind diese Funktionen aber schon etwas alt. "Neu" im Bunde ist hier VirtualAlloc. Wobei ich diese Funktion nicht kenne.
-
[ot]
daniel schumann kenn ich dich nicht? warste mal in Essen aufm CHG?
[/ot]aber wars nich sinn von malloc, dass ein bestimmter speicherbereich sozusagen gesperrt wird?
malloc schreibt aufm heap,wenn malloc also nicht funktionieren würde, würde der new/delete operator auch fehlschlagen!@web fritzi was eine aussage!
was ist handle für ein typ?
Ein File-Handle ist vom Typ HANDLE.
Handle ist ein typedef fürn andren typ, wenn ich den ursprungstyp kenne,weis ich, was genau gemeint ist, und kann dann im zweifesfall nen cast machen

//edit hab ne lösung ohne die lästige winapi:
fstream datei("datei.xxx",ios::in|ios::binary); datei.seekp(0L,ios::end);//wir benutzen den schreibzeiger um die dateilänge zu bestimmen,der lesezeiger belibt unangetastet unsigned long y=datei.tellg(); void* SpeicherZeiger=malloc(y); char* Vdatei=(char*)SpeicherZeiger; datei.read(Vdatei,y);// datei.close();is sicher noch keine perfekte lösung, der pointer cast nervt mich gewaltig, aber wenigstens keine winapi

-
Wenn Du die WinAPI so lästig findest, warum programmierst Du dann Windows-Anwendungen?
-
weil directx das ist mit dem ich arbeite,dafür brauch man normalerweise keine WinAPI(ausser dem Fenster öffnen natürlich).
wenn du wissen willst was mich an der WinAPI nervt:typefed void *PVOID; typedef PVOID HANDLE; typedef HANDLE *PHANDLE;Kopf->Wand
typedefs sind was schönes,solange man sie nich für jeden schrott benutzt.
mir persönlich ist ein void** lieber als ein PHANDLE.
-
otze schrieb:
daniel schumann kenn ich dich nicht? warste mal in Essen aufm CHG?
Nicht das ich wüßte. Ich war eigentlich noch nie in Essen und CHG sagt mir auch nichts.