C++ Datei aus File zählen

Gast #666408
Lesenswert?

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);
    }
}
Gast #666453
Lesenswert?

>>  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.
Gast #666500
Lesenswert?

> 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.
Persönliche Seite #666503
Lesenswert?

> 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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren