FILE Pointer sichern



  • Hallo zusammen;

    Ich habe ein Problem FILE Pointer zu sichern, also der Code:

    while(!feof(pLoad))
        {
            fscanf(pLoad,"%d",&zugriff.wertgroesse);
            pAdresse=pLoad;
            while(!feof(pAdresse))
            {
                if(pHead==NULL)
                {
                    pHead=malloc(sizeof(struct werte));
                    if(pHead==NULL)
                        perror("Konnte keinen Speicher reservieren\n");
                }
                fscanf(pAdresse,"%d",&vergleicher);
                if(vergleicher==zugriff.wertgroesse)
                    zugriff.anzahl_wertgroesse++;
            }
            pLoad=pAdresse;//Warum funktioniert das nicht?
        }
    

    Das Programm beendet sich dauernd.
    Ich möchte nur den pLoad sichern, den FILE Stream bis zum ende lesen und wieder von der Position wo er vorher war übernehmen.



  • Der FILE-Pointer ist nur ein abstraktes Handle, das den Datei-Funktionen sagt, woher sie ihre Daten holen sollen. Was du suchst, dürfte ftell()/fseek() sein.



  • Wenn ich das richtig verstehe, möchtest du nur die Position des Filepointers sichern und zurück setzen.
    Dies kannst du mit ftell und fseek erreichen.



  • danke, schönen abend noch 😉



  • Für diesen Anwendungsfall gibt es die ANSI C Standardfunktionen fgetpos/fsetpos.


Anmelden zum Antworten