Äquivalent zur dirent.h (Dev-Cpp)? Dateisuche



  • Ich will gerade ein Projekt aus Dev-Cpp in VC++ übernehmen und stelle gerade fest, dass die Dateisuche hier wohl etwas anders funktioniert.

    So sah der Code in Dev-Cpp aus:

    DIR *hdir;
        struct dirent *entry;
    
        hdir = opendir(".");
        do
        {
            entry = readdir(hdir);
            if (entry)
            {
            }
        } while (entry);
        closedir(hdir);
    

    Wäre nett, wenn mal jemand das Äquivalent in VC++ (Konsole) reinstellen könnte. Danke!



  • CFileFind, ist das heute der "Ich suche Dateien"-Tag? 😃



  • Mhh wenn ich die <afx.h> includiere, dann meldet er mir auf einmal Fehler die vorher nicht da waren 👎

    Gibt's noch andere Möglichkeiten?



  • Die <afx.h> meckert, wenn ich schon eine <windows.h> includiert habe. Aber die <mysql.h> spinnt, wenn keine <windows.h> includiert wird. Kann man den Fehler

    c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\afxv_w32.h(18): fatal error C1189: #Fehler:  WINDOWS.H already included.  MFC apps must not #include <windows.h>
    

    irgendwie unterdrücken?



  • nicht das ich wüsste, sry.

    und zu FileFind muss es ne API-Alternative geben, schau mal bei chdir() und dann steht unten best. so Datei(Verzeichnisfunktionen, und da schaust du mal, ob es da entsprechende Funcs gibt.



  • Dann ist es 1. falsches Subforum 2. schwachsinn 😉

    MySQL kommt auch mit mmsystem im normalfall aus...

    davon mal abgesehen sind die WinAPI Funk. FindFirstFile und FindNextFile...



  • Wenn ich windows.h und afx.h includiere kommt das

    c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\atlmfc\include\afxv_w32.h(18): fatal error C1189: #Fehler:  WINDOWS.H already included.  MFC apps must not #include <windows.h>
    

    Wenn ich die windows.h rauslasse kommt folgendes:

    c:\mysql\include\mysql_com.h(116): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'fd'
    c:\mysql\include\mysql_com.h(116): error C2501: 'st_net::fd': Fehlende Speicherklasse oder Typspezifizierer
    c:\mysql\include\mysql_com.h(116): error C2501: 'st_net::SOCKET': Fehlende Speicherklasse oder Typspezifizierer
    c:\mysql\include\mysql_com.h(180): error C2065: 'SOCKET': nichtdeklarierter Bezeichner
    c:\mysql\include\mysql_com.h(180): error C2146: Syntaxfehler: Fehlendes ')' vor Bezeichner 's'
    c:\mysql\include\mysql_com.h(181): error C2059: Syntaxfehler: ')'
    

    Alle Fehler in der mysql_com.h

    afx.h und mmsystem.h:

    c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\MMSystem.h(103): error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'MMVERSION'
    c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\MMSystem.h(103): error C2501: 'MMVERSION': Fehlende Speicherklasse oder Typspezifizierer
    c:\Programme\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\MMSystem.h(111): error C2143: Syntaxfehler: Es fehlt ';' vor '*'
    ........
    

    Alle Fehler in der mmsystem.h

    Sag mir mal, wie ich aus dem Dilemma wieder herauskommen soll?


Anmelden zum Antworten