Open In App

Differentiate printable and control character in C ?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

Given a character we need to find if it printable or not. We also need to find if it is control character or not. A character is known as printable character if it occupies printing space.
For the standard ASCII character set (used by the “C” locale), control characters are those between ASCII codes 0x00 (NUL) and 0x1f (US), plus 0x7f (DEL).

Examples:

Input : a
Output :a is printable character
        a is not control character
        
Input :\r
Output : is not printable character
         is control character

To find the difference between a printable character and a control character we can use some predefined functions, which are declared in the “ctype.h” header file.

The isprint() function checks whether a character is a printable character or not. isprint() function takes single argument in the form of an integer and returns a value of type int. We can pass a char type argument internally they acts as a int by specifying ASCII value.

The iscntrl() function is used to checks whether a character is a control character or not. iscntrl() function also take a single argument and return an integer.




// C program to illustrate isprint() and iscntrl() functions.
#include <stdio.h>
#include <ctype.h>
int main(void)
{
    char ch = 'a';
    if (isprint(ch)) {
        printf("%c is printable character\n", ch);
    } else {
        printf("%c is not printable character\n", ch);
    }
  
    if (iscntrl(ch)) {
        printf("%c is control character\n", ch);
    } else {
        printf("%c is not control character", ch);
    }
    return (0);
}


Output:

a is printable character
a is not control character

Last Updated : 05 Sep, 2017
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads