probleme mit virtueller datei erstellung



  • 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.


Anmelden zum Antworten