string - Vergleich funktioniert nicht

Re: Man wiedo funktioniert das hier nicht?

Wenn doch alles so einfach wäre, oder.......

Ne, ne
1. ein Vergleich ist das "==" das "=" ist eine Wertzuweisung.
2. ein Array besteht aus vielen Werten, bei dir 10 bzw. 11. Du kannst so etwas machen:
if(wahl[0]=='p')
{
...
}
Also immer nur einen Wert vergleichen. Du könntest das jetzt aneinanderhängen:
if(wahl[0]=='p' && wahl[1]=='l' && ...)
Aber da bist du morgen noch dran. Besser ist die Funktion strcmp. Die macht das für dich und sagt dir ob's gleich oder anders ist. mehr Infos findest du in der Hilfe deines Compilers.

Gruß stephsto
 
Re: Man wiedo funktioniert das hier nicht?

daniel_hh hat gesagt.:
Wieso funktioniert das mit dem char array nicht?
char wahl[10];

cin>>wahl;
if(wahl='plus')
{.......

}

Da du anscheinend c++ benutzt (cin gibt es nicht in c) hier das C++ äquivalent:

Code:
#include <string>
....

string wahl;
...
cin>>wahl;
if(wahl=="plus"){
..
}

PS: Bitte richtige Betreff-Zeilen wählen. Ich hab Deine mal angepasst!
 
Ist das ein Scherz?

Erstens verwendet man nicht strcmp sondern strncmp und zweitens wenn C++ benutzt wird, sollte man tunlichst string verwenden.

Was ist denn wenn nicht 10 sondern 15 Zeichen eingegeben werden?
Alle Welt regt sich über Buffer-Overflows auf und letztlich programmieren doch alle mit strcmp *kopfschüttel*
 
Ne, Ne. Wenn man sich entsprechende Konstanten macht und alles immer schön mit strlen abprüft, dann geht das mit strcmp / strcmpi wunderschön. Klar geht's auch mit strncmp, aber in den meisten Fällen brauch ich das nicht.

Nichts für ungut, jedem seinen Programmierstil...

Greets BadMourning
 
Zurück