Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/string/byte/iscntrl"

From cppreference.com
< cpp‎ | string‎ | byte
m (r2.7.3) (Robot: Adding de, es, fr, it, ja, pt, ru, zh)
m (Shorten template names. Use {{lc}} where appropriate.)
Line 8: Line 8:
  
 
===Parameters===
 
===Parameters===
{{param list begin}}
+
{{par begin}}
{{param list item | ch | character}}
+
{{par | ch | character}}
{{param list end}}
+
{{par end}}
  
 
===Return value===
 
===Return value===
Line 40: Line 40:
  
 
===See also===
 
===See also===
{{dcl list begin}}
+
{{dsc begin}}
{{dcl list template | cpp/locale/dcl list iscntrl}}
+
{{dsc inc | cpp/locale/dcl list iscntrl}}
{{dcl list template | cpp/string/wide/dcl list iswcntrl}}
+
{{dsc inc | cpp/string/wide/dcl list iswcntrl}}
{{dcl list see c | c/string/byte/iscntrl}}
+
{{dsc see c | c/string/byte/iscntrl}}
{{dcl list end}}
+
{{dsc end}}
  
 
{{cpp/string/character classes}}
 
{{cpp/string/character classes}}

Revision as of 19:55, 31 May 2013

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

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

Contents

Parameters

ch - character

Return value

Non-zero value (true) if the character is a control character, 0 (false) otherwise.

Example

#include <iostream>
#include <cctype>
#include <clocale>
 
int main()
{
    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

Template:cpp/locale/dcl list iscntrlTemplate:cpp/string/wide/dcl list iswcntrl
C documentation for iscntrl
ASCII values 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

decimal hexadecimal octal
0–8 \x0\x8 \0\10 control codes (NUL, etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 tab (\t) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA\xD \12\15 whitespaces (\n, \v, \f, \r) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE\x1F \16\37 control codes ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 space 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 \172\176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 backspace character (DEL) ≠0 0 0 0 0 0 0 0 0 0 0 0