makro? S_ISDIR erzeugt fehler in visual c++(erledigt)



  • hallo ich hatte folgende funktion schön öfters unter der entwicklungsumgebung dev c

    genutzt.

    [cpp]

    int isDirectory(const char *filename)
    {
    char tempstring[255];
    strncpy(tempstring, filename, 255);
    if (tempstring[strlen(tempstring) - 1] == '/') {
    tempstring[strlen(tempstring)-1] =0;
    }

    struct stat st;

    if(stat(tempstring, &st)) return FALSE; // Existiert nicht
    // if(!S_ISDIR(st.st_mode)) return FALSE; // es ist kein direktory

    return TRUE;
    }

    [/cpp]

    wenn ich die funktion jetzt in mein MFC programm unter Visual c++ zu nutzen kommt mir folgende fehlermeldung

    error:C2065: 'S_ISDIR': undeclared identifier

    jemand ne ahnung woran das liegt?



  • Mein VC++ 2003 kenn auch kein S_ISDIR, aber ein S_IFDIR.
    Dazu brauchts aber auch die 2 Header:

    #include <sys/types.h>
    #include <sys/stat.h>
    

    mfg



  • @pZy hab die änderung gemacht, die headerfiles waren schon drin die funktion hatte ja sonst auch funktioniert nur unter nem anderen Kompiler(wxDev C++)

    jetzt bekomme ich aber folgende fehlermeldung

    if(!S_IFDIR(st.st_mode)) return FALSE; // es ist kein direktory
    

    C:\serweb03\fileio.cpp(61) : error C2064: term does not evaluate to a function

    EDIT:
    problem wohl gelöst hab die Zeile jetzt folgendermaßen geändert

    if((st.st_mode & S_IFDIR) == 0) return FALSE; // es ist kein direktory
    

    fehlermeldung kommt nun schonmal keine mehr 🙄


Anmelden zum Antworten