Zeiger in Funktion



  • Hallo

    Ich habe viele Dateien und lese die alle über eine Funktion ein.

    bool ReadMyFile(const char *FileName, unsigned char **var)
    {
    // hier steht mehr code
    //....
    // wo ich eine Datei lese
         unsigned char *var = (unsigned char*) realloc(*var,filesize+1);
         _rtl_read(handle,*var,filesize);
    // hier steht mehr code
    //....
    }
    
    ReadMyFile(FileName1,&var1);
    ReadMyFile(FileName2,&var2);
    

    Das klappt soweit auch. Aber wie muss ich das für das Speichern machen?

    bool SaveMyFile(const char *FileName, unsigned char **var)
    {
    // hier steht mehr code
    //....
    // wo ich eine Datei schreibe
         _rtl_write(handle,*var,filesize);
         bzw
         _rtl_write(handle,var,filesize);
         bzw
         _rtl_write(handle,&var[0],filesize);
    // hier steht mehr code
    //....
    }
    
    SaveMyFile(FileName1,&var1);
    SaveMyFile(FileName2,&var2);
    

    Das schreibt alles Bockmist in die Datei. Wo liegt mein Fehler? 😕



  • Ohne die Funktion speichere ich so

    _rtl_write(handle,&var1[0],filesize);
    

    Ich würds nur gerne in einer Funktion machen wollen wo ich den Dateinamen und einen Zeiger auf die var1 lege. Leider bekomme ich dann immer absoluten Mist in der Datei. 😮



  • bool SaveMyFile (const char* FileName, unsigned char* var)
    {
    // hier steht mehr code
    //....
    // wo ich eine Datei schreibe
         _rtl_write (handle, var, filesize);
    // hier steht mehr code
    //....
    }
    
    SaveMyFile (FileName1, var1);
    SaveMyFile (FileName2, var2);
    

Anmelden zum Antworten