Scroll to navigation

ISALPHA(3) Linux-Programmierhandbuch ISALPHA(3)

BEZEICHNUNG

isalnum, isalpha, isascii, isblank, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, isalnum_l, isalpha_l, isascii_l, isblank_l, iscntrl_l, isdigit_l, isgraph_l, islower_l, isprint_l, ispunct_l, isspace_l, isupper_l, isxdigit_l - Zeichenklassifizierungs-Funktionen

ÜBERSICHT

#include <ctype.h>
int isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int isascii(int c);
int isblank(int c);
int isalnum_l(int c, locale_t locale);
int isalpha_l(int c, locale_t locale);
int isblank_l(int c, locale_t locale);
int iscntrl_l(int c, locale_t locale);
int isdigit_l(int c, locale_t locale);
int isgraph_l(int c, locale_t locale);
int islower_l(int c, locale_t locale);
int isprint_l(int c, locale_t locale);
int ispunct_l(int c, locale_t locale);
int isspace_l(int c, locale_t locale);
int isupper_l(int c, locale_t locale);
int isxdigit_l(int c, locale_t locale);
int isascii_l(int c, locale_t locale);

Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

isascii():

_XOPEN_SOURCE
|| /* Glibc seit 2.19: */ _DEFAULT_SOURCE
|| /* Glibc-Versionen <= 2.19: */ _SVID_SOURCE

isblank():

_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L

isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l():

_XOPEN_SOURCE >= 700
_GNU_SOURCE

isascii_l():

_XOPEN_SOURCE >= 700 && (_SVID_SOURCE || _BSD_SOURCE)
_GNU_SOURCE

BESCHREIBUNG

Diese Funktionen prüfen, ob c, das den Wert eines unsigned char haben oder EOF sein muss, in eine Zeichenklasse entsprechend den aktuellen Einstellungen für die Spracheinstellung (locale) passt. Die Funktionen ohne das Suffix »_l« führen die Überprüfung basierend auf der aktuellen Locale aus.

Die Funktionen mit dem Suffix »_l« führen die Überprüfung basierend auf der im Locale-Objekt locale angegebenen Locale aus. Das Verhalten dieser Funktionen ist nicht definiert, falls locale das spezielle Locale-Objekt LC_GLOBAL_LOCALE (siehe duplocale(3)) oder kein gültiges Locale-Objekt-Handle ist.

die folgende Liste erläutert die Wirkungsweise der Funktionen ohne das Suffix »_l«. Das Verhalten der Funktionen mit dem Suffix »_l« unterscheidet sich davon nur dadurch, dass das Locale-Objekt locale anstelle der aktuellen Locale verwendet wird.

prüft auf alphanumerische Zeichen, es ist äquivalent zu (isalpha(c) || isdigit(c)).
prüft auf alphanumerische Zeichen, in der standard "C"-Locale ist es äquivalent zu (isupper(c) || islower(c)). In anderen Locales kann es weitere Zeichen geben, für die isalpha() wahr ist - Zeichen, die weder Groß- noch Kleinbuchstaben sind.
prüft, ob c ein 7-bit unsigned char-Wert ist, der in den ASCII-Zeichensatz passt.
prüft auf ein Leerzeichen, also ein Leerzeichen oder einen Tabulator
prüft auf ein Steuerzeichen
prüft auf eine Ziffer (0 bis 9)
prüft auf druckbare Zeichen außer Leerzeichen
prüft auf einen Kleinbuchstaben
prüft auf druckbare Zeichen inklusive Leerzeichen
prüft auf druckbare Zeichen, das kein Leerzeichen und kein alphanumerisches Zeichen ist
prüft auf Freizeichen. In den "C"- und "POSIX"-Locales sind dies: Leerzeichen, Seitenvorschub ('\f'), Zeilenumbruch ('\n'), Wagenrücklauf ('\r'), horizontaler Tabulator ('\t') und vertikaler Tabulator ('\v').
prüft auf einen Großbuchstaben
prüft, auf hexadezimale Ziffern, also eine von
0 1 2 3 4 5 6 7 8 9 a b c d e f A B C D E F.

RÜCKGABEWERT

Falls das Zeichen c in die geprüfte Klasse fällt, wird eine Zahl ungleich null zurückgegeben, ansonsten null.

VERSIONEN

isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l(), isxdigit_l() und isascii_l() sind seit Glibc 2.3 verfügbar.

ATTRIBUTE

Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.

Schnittstelle Attribut Wert
isalnum(), isalpha(), isascii(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper(), isxdigit() Multithread-Fähigkeit MT-Safe

KONFORM ZU

C89 spezifiziert isalnum(), isalpha(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper() und isxdigit(), aber nicht isascii() und isblank(). POSIX.1-2001 spezifiziert auch diese Funktionen und auch isascii() (als eine XSI-Erweiterung) und isblank(). C99 spezifiziert alle der vorhergehenden Funktionen außer isascii().

POSIX.1-2008 markiert isascii() als veraltet, daher sollte darauf hingewiesen werden, dass es in einer lokalisierten Anwendung nicht portabel verwendet werden kann.

POSIX.1-2008 spezifiziert isalnum_l(), isalpha_l(), isblank_l(), iscntrl_l(), isdigit_l(), isgraph_l(), islower_l(), isprint_l(), ispunct_l(), isspace_l(), isupper_l() und isxdigit_l().

isascii_l() ist eine GNU-Erweiterung.

ANMERKUNGEN

Die Standards verlangen, dass das Argument c für diese Funktionen entwender EOF oder ein Wert, der in dem Typ unsigned char darstellbar ist, sein muss. Falls das Argument c vom Typ char ist, muss es in unsigned char umgewandelt werden, wie in dem folgenden Beispiel:


char c;
…
res = toupper((unsigned char) c);

Dies ist notwendig, da char äquivalent zu signed char sein kann. In diesem Fall würde ein Byte, bei dem das höchste Bit gesetzt ist, mit einem Vorzeichen erweitert, wenn es in ein int konvertiert würde. Dies würde zu einem Wert führen, der außerhalb des Bereichs von unsigned char wäre.

Die Details, welche Zeichen zu welcher Klasse gehören, sind von der Locale abhängig. Zum Beispiel wird isupper() in der Standard-C-Locale kein Ä als Großbuchstaben erkennen.

SIEHE AUCH

iswalnum(3), iswalpha(3), iswblank(3), iswcntrl(3), iswdigit(3), iswgraph(3), iswlower(3), iswprint(3), iswpunct(3), iswspace(3), iswupper(3), iswxdigit(3), newlocale(3), setlocale(3), toascii(3), tolower(3), toupper(3), uselocale(3), ascii(7), locale(7)

KOLOPHON

Diese Seite ist Teil der Veröffentlichung 5.10 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de>, Mario Blättermann <mario.blaettermann@gmail.com> und Dr. Tobias Quathamer <toddy@debian.org> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

15. September 2017 GNU