isspace()

Updated: April 19, 2023

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

Synopsis:

#include <ctype.h>

int isspace( int c );

Arguments:

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.

Library:

libc

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

Description:

The isspace() function tests for the following whitespace characters:

' '
Space
'\f'
Form feed
'\n'
Newline or linefeed
'\r'
Carriage return
'\t'
Horizontal tab
'\v'
Vertical tab

The isblank() function tests for a narrower set of characters.

Returns:

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

Examples:

#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( isspace( (unsigned)the_chars[i] ) ) {
            printf( "Char %c is a space character\n",
                the_chars[i] );
        } else {
            printf( "Char %c is not a space character\n",
                the_chars[i] );
        }
    }
    
    return EXIT_SUCCESS;
}

This program produces the output:

Char A is not a space character
Char     is a space character
Char   is a space character
Char } is not a space character
Char
 is a space character

Classification:

ANSI, POSIX 1003.1

Safety:  
Cancellation point No
Interrupt handler Yes
Signal handler Yes
Thread Yes