String Abfrage/eingabe
-
Hallo,
Seit Tagen versuche ich mich daran einen String aus mehreren chars von der Tastatur einlesen zu lassen um ihn von einer switch Funktion verwerten zu lassen:
#include <stdio.h> int main() { char land[20] ; printf ("\t\t H A U P T S T A E D T E I N E U R O P A\n\n") ; printf (" Bitte Land eingeben: ") ; fgets (land, sizeof land, stdin) ; switch (land[20]) { case 'ab': printf ("a done \n \n") ; break ; case 'b': printf ("b done \n \n") ; break ; } }
Der Compiler gibt aber bei dieser Variante folgende Warnungen aus:
stadt.c:16:8: Warnung: Zeichenkonstante mit mehreren Zeichen
stadt.c: In Funktion »main«:
stadt.c:16: Warnung: case-Marke überschreitet Maximalwert des TypsMeine Frage:
Was ist die beste Möglichkeit einen charstring abzufragen und zu verwenden?
Vielen Dank.
-
Zeile 14 (bzw. 16 nach der Compilermeldung):
case 'a':
<-- sollte so aussehenwenn du einen String vergleichen willst, dann geht das nicht mit
switch
!switch
funktioniert nur mit integralen Typen. Für Stringvergleiche gibt es man: strcmp (und für Suche man: strstr).