Namespaces
Variants

ispunct

From cppreference.net
< c ‎ | string ‎ | byte
Definiert in Header <ctype.h>
int ispunct ( int ch ) ;

Prüft, ob das gegebene Zeichen ein Satzzeichen im aktuellen C-Locale ist. Das Standard-C-Locale klassifiziert die Zeichen !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~ als Satzzeichen.

Das Verhalten ist undefiniert, wenn der Wert von ch nicht als unsigned char darstellbar ist und nicht gleich EOF ist.

Inhaltsverzeichnis

Parameter

ch - zu klassifizierendes Zeichen

Rückgabewert

Nicht-Null-Wert, wenn das Zeichen ein Satzzeichen ist, andernfalls Null.

Beispiel

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xd7'; // the character × (multiplication sign) in ISO-8859-1
    printf("In the default C locale, \\xd7 is %spunctuation\n",
           ispunct(c) ? "" : "not " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xd7 is %spunctuation\n",
           ispunct(c) ? "" : "not " );
}

Mögliche Ausgabe:

In the default C locale, \xd7 is not punctuation
In ISO-8859-1 locale, \xd7 is punctuation

Referenzen

  • C23-Standard (ISO/IEC 9899:2024):
  • 7.4.1.9 Die ispunct-Funktion (S: TBD)
  • C17-Standard (ISO/IEC 9899:2018):
  • 7.4.1.9 Die ispunct-Funktion (S. 146)
  • C11-Standard (ISO/IEC 9899:2011):
  • 7.4.1.9 Die ispunct-Funktion (S: 202)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.4.1.9 Die ispunct-Funktion (S: 183)
  • C89/C90 Standard (ISO/IEC 9899:1990):
  • 4.3.1.8 Die ispunct-Funktion

Siehe auch

prüft, ob ein Breitzeichen ein Satzzeichen ist
(Funktion)
C++-Dokumentation für ispunct
**Übersetzungsdetails:** - "control codes" wurde zu "Steuerzeichen" übersetzt - Alle HTML-Tags, Attribute und Formatierung wurden beibehalten - Text innerhalb der ` `-Tags wurde nicht übersetzt (C++-spezifische Begriffe wie `NUL`, `\x0`, `\0` etc.) - Die Zahlen und technischen Notationen bleiben unverändert **Anmerkung:** In diesem HTML-Fragment gibt es keine zu übersetzenden Textelemente außerhalb der Code-Tags. Die Zahlenbereiche (123–126) und mathematischen Symbole (≠0) sind technische Werte, die gemäß den Anweisungen nicht übersetzt werden sollten. **Übersetzungshinweise:** - "backspace character" wurde als "Rücklöschtaste" übersetzt (technisch korrekter Begriff im Deutschen) - Alle HTML-Tags, Attribute und Code-Blöcke wurden unverändert beibehalten - C++-spezifische Begriffe wie "DEL" wurden nicht übersetzt - Die mathematischen Symbole und Zahlen wurden nicht verändert - Die Formatierung und Struktur der Tabelle bleibt vollständig erhalten
ASCII-Werte Zeichen

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

Dezimal Hexadezimal Oktal
0–8 \x0 \x8 \0 \10 Steuerzeichen ( NUL , etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 Tabulator ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA \xD \12 \15 Leerzeichen ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE \x1F \16 \37 Steuerzeichen ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 Leerzeichen 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33–47 \x21 \x2F \41 \57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30 \x39 \60 \71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A \x40 \72 \100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41 \x46 \101 \106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47 \x5A \107 \132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B \x60 \133 \140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61 \x66 \141 \146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67 \x7A \147 \172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B \x7E \173 \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 Rücklöschtaste ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0