Ordnerinhalt anzeigen



  • Hi Leute. Kann mir einer sagen, wie ich den Inhalt eines beliebigen Ordners anzeigen kann???

    #include <direct.h>
    #include <stdlib.h>
    #include <stdio.h>
    
    void ordner_erstellen(char klasse[90]);
    void main();
    
    void ordner_erstellen(char klasse[90])
    {
       if( _mkdir(klasse) == 0 )
       {
          printf( "Ein neues Klassenverzeichnis('%s') wurde angelegt\n",klasse );
    	  system( "dir");
       }
       else
          printf( "Fehler: Das Verzeichnis '%s' konnte aus einem bestimmten Grund nicht angelegt werden", klasse );
    }
    
    void main()
    {
    	ordner_erstellen("c:\\DJ");
    
    }
    [/code}
    
    Hab jetzt erstmal ein Verzeichnis erstellt, aber wie kann ich jetzt diesen Pfad öffnen?
    Ich weiß nicht, wie ich folgende Zeile schreiben muss,damit z.B. "c:\DJ" angezeigt wird. 
    [code]system( "dir");
    

    MFG
    DJ



  • Ist mit ANSI quasi nicht möglich, die verschiedenen Bibliotheken der Betriebsysteme bieten gute Funktionen dafür. Für welches OS?

    Und noch was, es heißt int main und nicht void main.



  • Soll für xp oder 2000 sein.



  • Dann nehme am besten die MFC.



  • Max M. schrieb:

    Dann nehme am besten die MFC.

    Wenn er ein Konsolenprogramm schreibt, dann glaube ich dass WinAPI dafür reicht. Meine Meinung, ich hab keine Ahnung von Windows!



  • Die MFC wird nicht zwingend benötigt.

    /*
      Dieser QuellCode listet alle Dateien und Verzeichnisse von Laufwerk C auf
    */
    
    #include <iostream.h>
    #include <windows.h>
    
    int main()
    {
    
      HANDLE              hFind;
      WIN32_FIND_DATA     wData;
      char                zPath[] = "C:\\*.*";
      BOOL found = true;
    
      hFind = FindFirstFile( zPath, &wData );
    
      while(hFind != INVALID_HANDLE_VALUE && found)
      {
    	if(wData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY)
    		cout << "Verzeichnis: " << wData.cFileName << endl;
    	else
    		cout << "Dateiname: " << wData.cFileName << endl;
    
    	found = FindNextFile(hFind,&wData);
      }
    
      FindClose( hFind );
    	return 0;
    }
    


  • Die MFC würde ich absolut nicht empfehlen. Sie ist viel zu sehr abhängig vom Compiler. Außerdem könnte man dann gleich das system("dir") lassen 🙄 .

    Also am besten gleich die WinAPI hernehmen. Einfach mal in der msdn.microsoft.com nach FindFirst() und FindNext() suchen. Mögliche andere Wege findest du darüber sicher auch.



  • Dieser Thread wurde von Moderator/in AJ aus dem Forum ANSI C in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten