Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Dateien eines Ordners parsen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
21.03.2008, 18:30 Uhr
banshee



hallo,

ja ich habe das, was ich Threadtitel steht vor. Wie man eine einzelne Datei mit fopen aufmacht, ist ja relativ easy. Was aber, wenn ich 200 Dateien in einem Ordner hab, die ich nacheinander parsen will?
Wie mache ich das genau?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
21.03.2008, 19:15 Uhr
firefoxxi



Im C Standard sind dafür keine Funktionen vorgesehen. Das unterscheidet sich von Betriebssystem zu Betriebssystem. Für welches System entwickelst du denn? Unter Windows werden die entsprechenden Funktionen von der WinAPI zur Verfügung gestellt.
--
Gruß
firefoxxi

http://firebird-browser.de/
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
21.03.2008, 21:47 Uhr
banshee



achja sorry, dann bin ich wohl im falschen Unterforum.
WinAPI ist prima. Gibts da irgendwo was zu lesen drüber? :>
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
21.03.2008, 21:59 Uhr
Hans
Library Walker
(Operator)



(Link)
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.

Dieser Post wurde am 21.03.2008 um 22:04 Uhr von Hans editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
02.04.2008, 17:51 Uhr
banshee



Ich hab gerade etwas Probleme mit der Funktion FindFirstFile():


C++:
if(argc < 2)
      argv[1] = "";

    if(strlen(argv[1]) + 2 > MAX_PATH)
    {
        printf("Directory path is too long.\n");
        return -1;
    }

    strcpy(szDir, argv[1]);
    strcat(szDir, "\\*.txt");

    hFind = FindFirstFile(szDir, &FindFileData);

if(hFind == INVALID_HANDLE_VALUE)
    {
        printf("FindFirstFile() failed (%d)\n", GetLastError());
        return 1;
    }


Den Codeabschnitt benutze ich zum einlesen. Der Pfadname soll übergeben werden und falls nix übergeben wird, soll er im aktuellen Verzeichnis suchen. Dann steht also "\*.txt" in szDir. Trotzdem gibt mir das GetLastError() den Wert 2 zurück. Ich hab in der MSDN nachgelesen, dass GetLastError() ERROR_FILE_NOT_FOUND zurückgibt, wenn er die Datei nicht findet und alle anderen Fehlercodes etwas anderes bedeuten. Ich kann mir jetzt eigentlich nur erklären, dass er den Pfad so aus irgendwelchen Gründen nicht nimmt. Ideen wieso?

PS: Den Thread kann ein Admin auch gerne mal in die richtige Rubrik verschieben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
02.04.2008, 19:13 Uhr
Tommix



Hallo,
"\\*.txt" sucht nicht im aktuellen Verzeichnis, sondern im Hauptverzeichnis.

Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
02.04.2008, 22:21 Uhr
banshee



Wo ist das denn? Wenn ich die exe zb. in folgender Hierarchie: a\b\c in den Ordner c packe, sucht er mit dem Pfad dann in b oder wie?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
03.04.2008, 09:38 Uhr
Tommix



Nein, in a. Wenn der aktuelle Pfad z.B. "C:\Program Files\Utilities\TextEditor" ist, dann ist "\" das Hauptverzeichnis, also "C:\". Im aktuellen Verzeichnis suchst Du entweder ohne Pfadangabe ("*.txt") oder mit ".\*.txt".
Das escapen des \ ich jetzt jeweils weggelassen.

- Tommix

Dieser Post wurde am 03.04.2008 um 09:38 Uhr von Tommix editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: