Funktion stat()gibt Error "no such file or directory" zurück



  • Hallo!

    Heute ist nicht mein Tag 😞

    ich habe #include <sys/stat.h> eingebunden und mit der Funktion stat() überprüft ob eine Pfad und somit die Datei existiert.

    Liegt die Datei direkt in meinem Projekt und ich rufe stat() wie folgt auf funktioniert es:

    bool Exists_path(const char *PFAD){
        struct stat my_stat;
        return (stat(PFAD, &my_stat) == 0);
    }
    
    int main(){
    string pfad_neu_vdv = "54605 datenabrufenResponse.xml";
    //string pfad_neu_vdv = "C:/Users/Antje/Documents/Visual Studio 2010/Projects/gtfs-rt/gtfs-rt/54605 datenabrufenResponse.xml"; Funktioniert nicht
    bool klappt = Exists_path(pfad_neu_vdv.c_str())
    if(klappt)
    cout << "GEHT!!!" << endl;
    return 0;
    }
    

    Mit dem längeren String dann nicht mehr und ich hab keine Ahnung wieso...

    Jemand ne Idee, die mir den Tag rettet? 🙄



  • RETURN VALUE

    Upon successful completion, 0 shall be returned. Otherwise, -1 shall be returned and errno set to indicate the error.

    Was steht in errno?
    Kopiere den Pfad aus dem String in den Explorer. Findet der was?



  • antje schrieb:

    Hallo!

    Heute ist nicht mein Tag 😞

    ich habe #include <sys/stat.h> eingebunden und mit der Funktion stat() überprüft ob eine Pfad und somit die Datei existiert.

    Liegt die Datei direkt in meinem Projekt und ich rufe stat() wie folgt auf funktioniert es:

    bool Exists_path(const char *PFAD){
        struct stat my_stat;
        return (stat(PFAD, &my_stat) == 0);
    }
    
    int main(){
    string pfad_neu_vdv = "54605 datenabrufenResponse.xml";
    //string pfad_neu_vdv = "C:/Users/Antje/Documents/Visual Studio 2010/Projects/gtfs-rt/gtfs-rt/54605 datenabrufenResponse.xml"; Funktioniert nicht
    bool klappt = Exists_path(pfad_neu_vdv.c_str())
    if(klappt)
    cout << "GEHT!!!" << endl;
    return 0;
    }
    

    Mit dem längeren String dann nicht mehr und ich hab keine Ahnung wieso...

    Jemand ne Idee, die mir den Tag rettet? 🙄

    Windows kennt kein '/' mußt den Backslash nehmen '\'

    mfg Martin



  • mgaeckler schrieb:

    Windows kennt kein '/' mußt den Backslash nehmen '\'

    Das stimmt nicht.



  • mgaeckler schrieb:

    Windows kennt kein '/' mußt den Backslash nehmen '\'

    Sicher?



  • ja im Explorer wird die Datei geöffnet.

    Es geht auch nicht mit Backslash.



  • sorry für den doppelpost.

    manni66 schrieb:

    Was steht in errno?

    No such file or directory. Das wundert mich ja so...



  • escape mal die leerzeichen...



  • Vielen Dank für die tatkräftige Hilfe! Es funktioniert. Ihr habt meinen Tag gerettet 😉



  • manni66 schrieb:

    mgaeckler schrieb:

    Windows kennt kein '/' mußt den Backslash nehmen '\'

    Das stimmt nicht.

    OK, da war mein Wissen wohl veraltet. 🤡 Scheint jetzt tatsächlich zu gehen.

    An den Threadstarter: Was war denn dann Dein Problem?

    mfg Martin


Anmelden zum Antworten