[gelöst]ASCII Abfrage
-
Hallo Leute,
gibt es eine Möglichkeit abzufragen, ob der Wert den man bekommen hat,
ein ASCII Zeichen ist?
Also irgendwas so was wie:If(ASCII) { //tu was }
-
Klar. ASCII besteht aus 128 Zeichen. Davon ausgehend, dass die Zählung 0-basiert ist, brauchst du also nur prüfen, ob der Wert <128 ist.
-
Alles Klar

Danke

-
daddy_felix schrieb:
Davon ausgehend, dass die Zählung 0-basiert ist, brauchst du also nur prüfen, ob der Wert <128 ist.
Die Zählung ist aber häufig (meistens?) nicht 0-basiert, sondern läuft mitunter von -128 bis 127. Vorher nach unsigned casten hilft:
/* Parameter als int, um einheitlich mit dem Kram in ctype.h zu sein. */ int is_ascii(int c) { return (unsigned) c < 128; }
-
Autsch.
Wieso nichtint is_ascii(int c) { return c >= 0 && c < 128; }?
-
Wo wir schon bei C++ sind, warum nicht folgendes:
inline bool is_ascii(unsigned int c){ return c < 128; }
-
Youka schrieb:
Wo wir schon bei C++ sind, warum nicht folgendes:
inline bool is_ascii(unsigned int c){ return c < 128; }weil wir nicht wissen, ob "der Wert den man bekommen hat" unsigned ist oder nicht.