Array Element vergleichen

danza

Erfahrenes Mitglied
Hi,
ich habe folgendes Problem, ich lasse mir aus dem aktuellen Verzeichnis alle Dateien anzeigen und speichere sie im Array dirEntryArray. Nun möchte ich das Verzeichnis auf eine Datei überprüfen: if(dirEntryArray[run]=="14.02.avi"). Ich weis nur nicht warum das nicht geht die Datei 14.02.avi liegt auch in dem Verzeichnis und wird oben in der Liste angzeigt. Bin noch C++ Anfänger hatte vorher PHP gemacht...

Aber es erscheint kein Richtig hinter dem 14.02.avi.

Code:
int main()
{
    int run = 0;
    DIR *dirHandle;
    struct dirent * dirEntry;
    char* dirEntryArray[1000];

    dirHandle = opendir(".");
    if (dirHandle) {
       while (0 != (dirEntry = readdir(dirHandle))) {
             dirEntryArray[run]=dirEntry->d_name;
             cout<<dirEntryArray[run];
             if(dirEntryArray[run]=="14.02.avi"){
                  cout<<"  Richtig";     
             }
             cout<<endl;
             run ++;
       }
       closedir(dirHandle);
    }
    cin.get();
}
 
Hi

Strings verden mit strcmp verglichen, sonst vergleichst du nur die Adresse im RAM!

Richtig geht es:

if(!strcmp(dirEntryArray[run],"14.02.avi"))
{...}

Gruß
 
Zurück