Ethernet Switch (case) Problem

Ein char ist ein Zeichen. 0-9 geht daher. Aber was soll '10' sein? Das sind zwei Zeichen. Das kompiliert zwar leider, ist aber das gleiche wie '1'.

Zahlen kannst du recht einfach einlesen, wenn du die aktuelle Ziffer mitzählst. Also 1, 10, 100 etc. Dann addierst du die gerade eingelesene Ziffer * die Wertigkeit der Stelle auf den bisherigen Wert. z.B. 2100 + 010 + 3*1 = 203.

Von einem char auf die Ziffer in Dezimal kommst du einfach mit c - '0', c - 48 oder c - 0x30. Siehe:

Dann lasse den ganzen Abfrage-Kram weg und mach einfach das:

triggerPin(outputAddress[zahl], client, outp);

Nachdem du die Zahl eingegeben und korrekt ausgelesen hast