0 Pluspunkte 0 Minuspunkte
Wie kann ich verschiedene Datentypen in eine Datei schreiben und lesen? Also z.B ein Integer dann ein Float und dann wieder ein Integer.
bezieht sich auf eine Antwort auf: Datei lesen und schreiben in C
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Binäre Daten (Bytes) kannst du mit fwrite in eine Datei schreiben. Öffne die Datei dazu im "binären Schreibmodus" und gib die jeweilige Größe des Datentyp an.

#include <stdio.h>

int main() {
    FILE *file = fopen("data.bin", "wb");
    if (file == NULL) {
        perror("Fehler beim Öffnen der Datei");
        return 1;
    }

    int intValue = 42;
    float floatValue = 3.14159;

    // Schreibe int-Wert
    fwrite(&intValue, sizeof(int), 1, file);

    // Schreibe float-Wert
    fwrite(&floatValue, sizeof(float), 1, file);

    fclose(file);
    return 0;
}

Auch lesen kannst du Bytes mit fread. Dazu musst du die Datei im "binären Schreibmodus" öffnen und auch die Größe des Datentyp angeben.

#include <stdio.h>

int main() {
    FILE *file = fopen("data.bin", "rb");
    if (file == NULL) {
        perror("Fehler beim Öffnen der Datei");
        return 1;
    }

    int intValue;
    float floatValue;

    // Lese int-Wert
    fread(&intValue, sizeof(int), 1, file);

    // Lese float-Wert
    fread(&floatValue, sizeof(float), 1, file);

    printf("Gelesener int-Wert: %d\n", intValue);
    printf("Gelesener float-Wert: %f\n", floatValue);

    fclose(file);
    return 0;
}

von (776 Punkte)