Problem mit fopen [gelöst]



  • Hallo,

    ich hab ein "kleines" Problem beim Auslesen einer Date mit fopen. Manchmal kriege die Meldung "No such file or directory" und manchmal geht es ohne Probleme. 🙄

    Die Datei liegt immer am selben Ort und der Pfad stimmt auch immer. Nach dem Öffenen wird auch immer schön mit fclose wieder geschlossen und die Dateirechte sind auch okay. Ich weiß nicht mehr wonach ich noch gucken könnte. 😕

    Kann mir jemand eine Tipp geben woran das liegen kann?

    Danke im Voraus und schöne Grüße
    Aikidas


  • Mod

    Benutzt du einen relativen Pfad? Dann könnte das an unterschiedlichen Arbeitsverzeichnissen liegen.



  • Lass dir doch mal die Fehlermeldung ausgeben:

    #include <stdio.h>
    #include <errno.h>
    #include <string.h>
    
    int main(){
        FILE *infile=fopen("Sample.txt","r");
        if(!infile)
            printf("File Open Error: %s",strerror(errno));
        return 0;
    }
    

    von http://www.dreamincode.net/code/snippet726.htm



  • [quote="SeppJ"] Benutzt du einen relativen Pfad? Dann könnte das an unterschiedlichen Arbeitsverzeichnissen liegen. [/quote]

    Ja ich benutze relative Pfade, aber ich wechsle das Arbeitsverzeichnis ja nicht. Sollte dann eigentlich kein Problem sein.



  • @CSpille

    "No such file or directory" ist die Meldung von strerror(errno) 😃



  • Es liegt definitiv nicht an den relativen Pfaden. Mit absoluten Pfaden geht es auch nicht besser. Aber gute Idee.


  • Mod

    Nur um sicher zu gehen: Redest du davon die gleiche Datei mehrmals während eines Programmablaufs zu öffnen oder davon, mehrmals das gleiche Programm auszuführen?



  • Wenn ich das selbe Programm mehrfach aufführe, kann die zu lesenden Datein manchmal gelesen werden und manchmal nicht.
    Ich arbeite übrigens an einem Mac (über Terminal), falls das irgendwie wichtig sein sollte.



  • Okay ich hatte noch irgendwo in den Untiefen meiner Quelltexte ein malloc mit dem dieses fopen scheinbar kolierdiert ist. Rausgenommen ... Geht!

    Danke für die Antworten 😃


Log in to reply