switch() und char-strings
-
hallo,
Ich möchte mit der Anweisung switch() verschiedene Aktionen bei unterschiedlicher Eingabe ausführen. Genauer gesagt soll der User zwischen den 7 Wochentagen wählen können und je nach Wahl eine andere Aktion durchgeführt werden.
Mein bisheriger Ansatz sieht so aus:
http://nopaste.com/p/akVcV1xDhb
Der compiler meldet nun folgendes:
akske@akske:~/Programme/C$ gcc -o fget fgets.c
fgets.c:12:8: Warnung: Zeichenkonstante mit mehreren Zeichen
fgets.c:16:8: Warnung: Zeichenkonstante zu lang für ihren TypNatürlich könnte ich statt des charstrings einen Integerwert abfragen lassen, nach dem Muster 1= Montag etc.
Es geht mir aber speziell um die Klartext Eingabe. Ist das möglich?
-
In C bestehen chars auch nur einem Zeichen, 'test' ist deshalb falsch.
Um den Strings von Strings mit zu vergleichen, verwendet man aber man: strcmp(3), nicht switch, weil es nur numerische Typen verwendet werden darf, und eine Zeichenkette ist kein numerischer Typ, sondern eine Folge von chars.
Außerem kannst du den Code auch im Forum posten (mit den cpp-Tags), so müssen wir keine "externe" Seite aufmachen, um dir zu helfen.
-
nee, switch/case geht nicht mit strings. könnteste ungefähr so machen:
if (strcmp(a,b) == 0) { } else if (strcmp(a,c) == 0) { } // usw...
-
Herzlichen Dank für die Hilfe, das macht die Sache zwar etwas umständlicher, aber nun gut