Updated: April 19, 2023

Test a character to see if it's a blank character


#include <ctype.h>

int isblank( int c );


The character you want to test. This must be representable as an unsigned char or be EOF; the behavior for other values is undefined. Because this argument is interpreted as an int, to avoid sign extension on character values greater than 0x7F, you must cast the argument to the unsigned data type; otherwise, the function will behave unpredictably.



Use the -l c option to qcc to link against this library. This library is usually included automatically.


The isblank() function tests the given character to see if it is a blank character. In the C locale, the set of blank characters consists of the space (' ') and the horizontal tab ('\t'). The isspace() function tests for a wider set of characters.


Nonzero if c is a blank character; otherwise, zero.


#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>

char the_chars[] = { 'A', 0x09, ' ', 0x7d, '\n' };

#define SIZE sizeof( the_chars ) / sizeof( char )

int main( void )
    int i;
    for( i = 0; i < SIZE; i++ ) {
        if( isblank( (unsigned)the_chars[i] ) ) {
           printf( "Char %c is a blank character\n",
                   the_chars[i] );
        } else {
           printf( "Char %c is not a blank character\n",
                   the_chars[i] );
    return EXIT_SUCCESS;

This program produces the output:

Char A is not a blank character
Char     is a blank character
Char   is a blank character
Char } is not a blank character
 is not a blank character


ANSI, POSIX 1003.1

Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes