Switch mit string?
-
Hallo,
habe mal ne kleine frage, die mich schon länger beschäftigt. Gibt es irgendeine bibliothek oder headerdatei, die eine switchkonstruktion auch mit einem string als ausdruck zulässt?
Also in etwa so:switch (string) { case "foo": break; case "bar": break; }Falls nicht, würde es in einem machbaren rahmen bleiben (also nicht zu lange dauern) so etwas selbst zu programmieren? Ich hab sowas in der art noch nie gemacht, also keine ahnung weiweit das technisch umsetzbar ist...
-
Nein so geht das nicht. Leider.
Da musst du wohl weiter if benutzen müssen...if(0==strcmp("foo",String)) {/*Wenn Ja*/} else if(0==... Und so weiter Für default einfach else ranhängenAußerdem ist switch nicht irgendwo in einer Bibliothek definiert sondern ist schon vorgegeben. -> Da kannst du wohl nichts dran rütteln
-
Du könntest dafür eine std:map einsetzen, s.a.
http://www.c-plusplus.net/forum/viewtopic-var-t-is-175346-and-highlight-is-switch+map.htmlDort sind auch weitere Links angegeben...
-
Danke für die antworten. Besonders der letzte tipp war super!
Hat mir weitergeholfen