0 Pluspunkte 0 Minuspunkte
Wie kann ich Dateien lesen und schreiben in C?
von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Verwende die Funktion fopen aus der Standardbibliothek <stdio.h>.

#include <stdio.h>

int main() {

    FILE *file = fopen("datei.txt", "r"); // Öffnet die Datei zum Lesen ("r" steht für "read")
    
    if (file == NULL) {
        printf("Konnte die Datei nicht öffnen.\n");
        return 1;
    }

    fclose(file); // Datei schließen
    return 0;

}

Verwende fread zum Lesen von Daten aus der Datei.

#include <stdio.h>

int main() {

    FILE *file = fopen("datei.txt", "r");

    char buffer[100]; // Puffer für gelesene Daten

    // Verwende fread, um eine bestimmte Anzahl von Bytes zu lesen
    size_t bytesRead = fread(buffer, sizeof(char), sizeof(buffer), file);

    if (bytesRead > 0) {
        printf("Gelesene Daten: %s\n", buffer);
    } else {
        printf("Konnte nicht aus der Datei lesen.\n");
    }

    fclose(file);
    return 0;

}

Verwende fwrite oder fprintf zum Schreiben von Daten in die Datei. (Überschreibt alle enthaltenen Daten!)

#include <stdio.h>

int main() {

    FILE *file = fopen("datei.txt", "w"); // Öffnet die Datei zum Schreiben ("w" steht für "write")
   
    char text[] = "Hallo, das ist ein Beispieltext.\n";

    // Verwende fwrite, um Daten zu schreiben
    size_t bytesWritten = fwrite(text, sizeof(char), sizeof(text) - 1, file);

    // Oder verwende fprintf, um formatierten Text zu schreiben
    // int fprintf(FILE *stream, const char *format, ...);

    if (bytesWritten > 0) {
        printf("Daten erfolgreich in die Datei geschrieben.\n");
    } else {
        printf("Konnte nicht in die Datei schreiben.\n");
    }

    fclose(file);
    return 0;

}

Um Daten an eine Datei anzuhängen, anstatt sie zu überschreiben, verwende den Modus "a" (append) beim Öffnen der Datei.

#include <stdio.h>

int main() {

    FILE *file = fopen("datei.txt", "a"); // Öffnet die Datei zum Anhängen ("a" steht für "append")

    char text[] = "Dieser Text wird angehängt.\n";

    // Verwende fprintf, um Daten an die Datei anzuhängen
    int bytesAppended = fprintf(file, "%s", text);

    if (bytesAppended > 0) {
        printf("Daten erfolgreich an die Datei angehängt.\n");
    } else {
        printf("Konnte nicht an die Datei anhängen.\n");
    }

    fclose(file);
    return 0;

}
von