---
name: "iscntrl"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/iscntrl"
---

# iscntrl(3)

control character test

## NAME

**iscntrl** – control character test

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<ctype.h\>**

*int*\

**iscntrl**(*int c*);

## DESCRIPTION

The **iscntrl**() function tests for any control character. The value of the argument must be representable as an *unsigned char* or the value of EOF.

In the ASCII character set, this includes the following characters (preceded by their numeric values, in octal):

| |
| --- |
| 000 NUL 001 SOH 002 STX 003 ETX 004 EOT |
| 005 ENQ 006 ACK 007 BEL 010 BS 011 HT |
| 012 NL 013 VT 014 NP 015 CR 016 SO |
| 017 SI 020 DLE 021 DC1 022 DC2 023 DC3 |
| 024 DC4 025 NAK 026 SYN 027 ETB 030 CAN |
| 031 EM 032 SUB 033 ESC 034 FS 035 GS |
| 036 RS 037 US 177 DEL |

## RETURN VALUES

The **iscntrl**() function returns zero if the character tests false and returns non-zero if the character tests true.

## COMPATIBILITY

The 4.4BSD extension of accepting arguments outside of the range of the *unsigned char* type in locales with large character sets is considered obsolete and may not be supported in future releases. The **iswcntrl**() function should be used instead.

## SEE ALSO

[ctype(3)](/ctype/3.md), [isalnum\_l(3)](/isalnum_l/3.md), [iswcntrl(3)](/iswcntrl/3.md), [ascii(7)](/ascii/7.md)

## STANDARDS

The **iscntrl**() function conforms to ISO/IEC 9899:1990 (“ISO C90”).
