fread in char



  • Hallo,

    irgendwie bin ich heute morgen noch zu blöd für die fread Funktion.

    char *block1;
    int vh_size=1000;
    fread(&block1, vh_size, 1, quelle);

    Ich will also ein Block der Größe 1000 in mein char block1 schreiben.
    Wenn ich aber danach mit sizeof(block1) abfrage, bekomme ich immer 4 und nicht 1000. Was mache ich noch falsch?
    quelle ist korrekt mit fopen vorhanden. davor und danach lese ich mehrere int-Werte aus und da funktioniert es einwandfrei. Nur bei dem char nicht. 😢

    Danke.



  • block1 ist ein Zeiger. sizeof(block1) ergibt demnach die Größe eines Zeigers. Bei dir scheint das 4 zu sein.

    Edit: Außerdem ist der erste Parameter nicht korrekt. Der Adressoperator gehört da nicht hin. Zudem sehe ich nicht wo für block1 Speicher reserviert wurde.


Anmelden zum Antworten