Guten Tag Ich möchte mit meinem kleinen Programm die Dateien aus dem Ordner lesen und zählen, wie viele Files sich im Ordner befinden. Bin ich auf einem guten Weg, kann mir jemand Inputs geben? Komme nicht weiter und hab 5 Errors. Besten Dank Pascal
Sorry Hier ist mein Code: void CFilemakeDlg::Show() { HANDLE hSearch = FindFirstFile(".\\Debug\\*.exe") || (".\\*.exe"); BOOL MoreFiles = FALSE; int count_file = 0; int count_dir = 0; if (hSearch = INVALID_HANDLE_VALUE) return -1; do { if (FData.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY) { count_dir++; // Ordnerzähler um 1 erhöhen } else { count_file++; // Dateizähler um 1 erhöhen } MoreFiles = FindNextFile(hSearch,&FData); } }
> Komme nicht weiter und hab 5 Errors. WELCHE?! > if (hSearch = INVALID_HANDLE_VALUE) return -1; Ersetze = durch ==
FindFirst function does not have 1 parameter dwFileAttributes must hace a class/struct/union type die anderen Fehler sollte ich mit richtigem Deklarieren beheben können.
> FindFirst function does not have 1 parameter
Na, was sagt uns das?
1 | HANDLE FindFirstFile( |
2 | LPCTSTR lpFileName, // file name |
3 | LPWIN32_FIND_DATA lpFindFileData // data buffer |
4 | );
|
(Funktionsprototyp, so in Win32-API-Funktion deklariert) Achja, und was ist
1 | HANDLE hSearch = FindFirstFile(".\\Debug\\*.exe") || (".\\*.exe"); |
das für ein Quatsch?
>> if (hSearch = INVALID_HANDLE_VALUE) return -1; > > Ersetze = durch == Das ist doch mal so einer von den klassischen Fehlern, der man gleich erkannt hätte, wenn man die Konstante auf die linke Seite geschrieben hätte.
Das sieht aber hässlich aus ... und anständige C-Compiler erzeugen bei genau diesem Statement wenigstens eine Warnung.
> Das sieht aber hässlich aus ... Es sieht ungewohnt aus, wenn man es nur in der anderen Reihenfolge kennt. > und anständige C-Compiler erzeugen bei genau diesem Statement > wenigstens eine Warnung. Was nervt, wenn man wirklich eine Zuweisung gemeint hat. Dann muß man sich mit so Krücken behelfen wie die Klammern beim if doppelt auszuführen, um den Compiler zu beruhigen.
> Was nervt, wenn man wirklich eine Zuweisung gemeint hat.
... was man sich natürlich genauso abgewöhnen könnte wie man sich die
"hässliche" Schreibweise angewöhnen könnte.
Also alles nur eine Frage der Gewohnheit; ich vermeide es, Zuweisungen
in Vergleichsoperationen zu verwenden.
Also:
Jeder Weg ist richtig, aber das "Programm" von Pascal strotzt vor
Fehlern.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.