if- frage

Ryu1991

Erfahrenes Mitglied
Hi Leute ich habe , vor mir eine Klasse zu schreiben, die bestimmte private variablen hat. Jetzt möchte ich diese Variablen mit hilfe einer kleinen Funktion ausgeben lassen(die Variablen sind private weil man sie nicht veränder können soll) und habe das mit nem if-else zweig vor:
C++:
char* TDATEI::Ausgeben(char* variable){
    if (variable != "dateiname" && variable != "dateipfad" && variable != "dateityp"){
        return NULL;
    }
    else if(variable == "dateiname"){return dateiname;}
    else if(variable != "dateipfad"){return dateipfad;}
    else if(variable != "dateityp"){return dateityp;}
}

jetzt möchte ich von euch wissen, ob dieser if vergleich funktioniert um den inhalt einer Variablen zu überprüfen, danke schonmal für die antwort.
 
Hi

generell kannst du so mit einer If-Verzweigung den Inhalt einer Variable mit einer Konstanten vergleichen. Da aber deine Variable ein Pointer ist, vergleichst du nur die Adresse, auf die der Pointer zeigt mit der Adresse deiner Konstanten ("dateiname", ...).

Strings oder char[] bzw char* vergleichst du mit strcmp(char *stringa, char *stringb).

strcmp = string compare

lg
 
Zurück