W3cubDocs

/C++

std::iscntrl

Defined in header <cctype>
int iscntrl( int ch );

Checks if the given character is a control character as classified by the currently installed C locale. In the default, "C" locale, the control characters are the characters with the codes 0x00-0x1F and 0x7F.

The behavior is undefined if the value of ch is not representable as unsigned char and is not equal to EOF.

Parameters

ch - character to classify

Return value

Non-zero value if the character is a control character, zero otherwise.

Example

#include <iostream>
#include <cctype>
#include <clocale>
 
int main()
{
    unsigned char c = '\x94'; // the control code CCH in ISO-8859-1
 
    std::cout << "iscntrl(\'\\x94\', default C locale) returned "
               << std::boolalpha << (bool)std::iscntrl(c) << '\n';
 
    std::setlocale(LC_ALL, "en_GB.iso88591");
    std::cout << "iscntrl(\'\\x94\', ISO-8859-1 locale) returned "
              << std::boolalpha << (bool)std::iscntrl(c) << '\n';
 
}

Output:

iscntrl('\x94', default C locale) returned false
iscntrl('\x94', ISO-8859-1 locale) returned true

See also

checks if a character is classified as a control character by a locale
(function template)
checks if a wide character is a control character
(function)
C documentation for iscntrl
ASCII values
(hex)
characters

iscntrl
iswcntrl.

isprint
iswprint.

isspace
iswspace.

isblank
iswblank.

isgraph
iswgraph.

ispunct
iswpunct.

isalnum
iswalnum.

isalpha
iswalpha.

isupper
iswupper.

islower
iswlower.

isdigit
iswdigit.

isxdigit
iswxdigit.

0 - 8 0x00-0x08 control codes (NUL, etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 0x09 tab (\t) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10 - 13 0x0A-0x0D whitespaces (\n,\v,\f,\r) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14 - 31 0x0E-0x1F control codes ≠0 0 0 0 0 0 0 0 0 0 0 0
32 0x20 space 0 ≠0 ≠0 ≠0 0 0 0 0 0 0 0 0
33 - 47 0x21-0x2F !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48 - 57 0x30-0x39 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58 - 64 0x3a-0x40 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65 - 70 0x41-0x46 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71 - 90 0x47-0x5A GHIJKLMNOPQRSTUVWXYZ 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91 - 96 0x5B-0x60 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97 -102 0x61-0x66 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103-122 0x67-0x7A ghijklmnopqrstuvwxyz 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123-126 0x7B-0x7E {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 0x7F backspace character (DEL) ≠0 0 0 0 0 0 0 0 0 0 0 0

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
http://en.cppreference.com/w/cpp/string/byte/iscntrl