CFileFind::GetFileName() liefert nur Müll

gambrinus

Grünschnabel
Hallo,

ich hab ein Problem mir CFileFind::GetFileFind() das ich nicht verstehe. ich hoffe Ihr könnt mir weiterhelfen.

Ich will bestimmte Dateien (hier .off-dateien) des Arbeitsverzeichnisses auslesen, und hab mich dazu am Beispielcode von der msdn-homepage orientiert:


CFileFind finder;
BOOL bWorking = finder.FindFile("*.off");
while (bWorking)
{
bWorking = finder.FindNextFile();
cout << (LPCTSTR) finder.GetFileName() << endl;
}

Anstatt der Dateinamen bekomme ich aber nur folgende Ausgabe:

00DB63B0
00DB6390
00DB6390
00DB6390
00DB6390
....

die Anzahl der Ausgaben stimmt mit der Anzahl der .off-dateien im Verzeichnis überein, aber wieso gibt er mir nicht deren Namen aus?
Ähnliches passiert übrigens auch mit GetFilePath, GetFileTitle, usw...
 
Du verwendest wahrscheinlich VS2003 oder VS2005? Hier werden die Projekte standardmäßig mit UNICODE-Unterstützung angelegt.
Für die Ausgabe solltest du daher die wchar-Variante der Streams benutzen:
C++:
wcout << (LPCTSTR) finder.GetFileName() << endl;
Gruß
MCoder
 
Ich weiß nicht, wo der jetzt genau sucht (evlt. im gleichen Ordner, wo die Applikation liegt), aber vielleicht gehts auch so:

....FindFile("C:\\*.off");

Also müsstest evtl. einen absoluten Pfad angeben.

Lukas
 
Zurück