Herakles
Profifragensteller
Moin!
Ich mache in der Sprache C ein select(2) auf 8 Filedescriptoren und will danach gucken, auf welchem Deskriptor was passiert ist. Jetzt kann man natürlich mit 8 if-abfragen prüfen, welcher aktiviert worden ist, das ist mir aber zu "unschön" und zuviel if.
Mir würde ein switch-case besser gefallen, ich weiß aber nicht, wie ich das realisieren könnte. Hat jemand eine Idee?
Danke für jede Hilfe!
Herakles
Ich mache in der Sprache C ein select(2) auf 8 Filedescriptoren und will danach gucken, auf welchem Deskriptor was passiert ist. Jetzt kann man natürlich mit 8 if-abfragen prüfen, welcher aktiviert worden ist, das ist mir aber zu "unschön" und zuviel if.

Code:
for( i=0; i < GPIO_INPUTS; i++ ) {
FD_SET( fileno(global.fd_gpio_in[i]), &gpio_fds );
}
select( fileno(global.fd_gpio_in[i]) + 1, &gpio_fds, NULL, NULL, NULL );
if( FD_ISSET( global.fd_gpio_in[0], &gpio_fds) { printf("1\n"); }
if( FD_ISSET( global.fd_gpio_in[1], &gpio_fds) { printf("2\n"); }
if( FD_ISSET( global.fd_gpio_in[2], &gpio_fds) { printf("3\n"); }
und so weiter....
Mir würde ein switch-case besser gefallen, ich weiß aber nicht, wie ich das realisieren könnte. Hat jemand eine Idee?
Danke für jede Hilfe!
Herakles