Problem mit malloc



  • Guten Tag die Damen und Herren ^^

    Also mein Programm soll folgendes machen:

    2 Datein einlesen (Inhalt Buchstaben ungeordnet, getrennt durch Zeilenumbruch)
    Speicher allokieren
    Sortieren
    und in eine 3 Datei die sortierten Buchstaben wieder ausgeben

    und das folgende Problem ist, dass ich einfach nicht draufkomme wie ich das mit der Allokierung hinbekommen soll!

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    int main(void)
    {
         FILE *fpA, *fpB, *fpC;
    
         char zeile[80];                // Definiere die Anzahl der Zeilen
    
         fpA = fopen("dat1.txt","r");   //öffnen der Datei 1
         fpB = fopen("dat2.txt","r");   //öffnen der Datei 2
         fpC = fopen("dat3.txt","w");   //öffnen der Datei 3
    
         if (fpA == NULL || fpB == NULL || fpC == NULL)
         {
             printf("Fehler beim oeffnen der Dateien!\n");
         }
    
         else
         {
             int i;
             char satzA[i];
             char satzB[i];
    
         }
    getchar();
    return 0;
    }
    


  • Also mit fseek(fpA, 0, SEEK_END); den Dateizeiger ans Dateiende setzen und dann char* buf = malloc(ftell(fpA)); Speicher für den Buffer holen
    und den Dateizeiger zurück auf den Dateianfang fseek(fpA, 0, SEEK_SET); alles klar?


Anmelden zum Antworten