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

BIBLIOTHEK

Standard-C-Bibliothek ( libc, -lc)

Ü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 Feature-Test-Makros (siehe feature_test_macros(7)):
isascii():
    _XOPEN_SOURCE
        || /* Glibc >= 2.19: */ _DEFAULT_SOURCE
        || /* Glibc <= 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():
    Seit Glibc 2.10:
        _XOPEN_SOURCE >= 700
    Vor Glibc 2.10:
        _GNU_SOURCE
isascii_l():
    Seit Glibc 2.10:
        _XOPEN_SOURCE >= 700 && (_SVID_SOURCE || _BSD_SOURCE)
    Vor Glibc 2.10:
        _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.
isalnum()
prüft auf alphanumerische Zeichen, es ist äquivalent zu (isalpha(c) || isdigit(c)).
isalpha()
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.
isascii()
prüft, ob c ein 7-bit unsigned char-Wert ist, der in den ASCII-Zeichensatz passt.
isblank()
prüft auf ein Leerzeichen, also ein Leerzeichen oder einen Tabulator
iscntrl()
prüft auf ein Steuerzeichen
isdigit()
prüft auf eine Ziffer (0 bis 9)
isgraph()
prüft auf druckbare Zeichen außer Leerzeichen
islower()
prüft auf einen Kleinbuchstaben
isprint()
prüft auf druckbare Zeichen inklusive Leerzeichen
ispunct()
prüft auf druckbare Zeichen, das kein Leerzeichen und kein alphanumerisches Zeichen ist
isspace()
prüft auf Leerraumzeichen. In den "C"- und "POSIX"-Locales sind dies: Leerzeichen, Seitenvorschub ( »\f«), Zeilenumbruch ('\n'), Wagenrücklauf ( »\r«), horizontaler Tabulator ( »\t«) und vertikaler Tabulator ( »\v«).
isupper()
prüft auf einen Großbuchstaben
isxdigit()
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
 

STANDARDS

POSIX.1-2001 spezifiziert isalnum(), isalpha(), isblank(), iscntrl(), isdigit(), isgraph(), islower(), isprint(), ispunct(), isspace(), isupper() und isxdigit() und auch isascii() (als eine XSI-Erweiterung). 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 entweder 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)

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <[email protected]>, Mario Blättermann <[email protected]> und Dr. Tobias Quathamer <[email protected]> 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