Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

setlocale(3C)

ascii(5)

ctype(3C)

NAME

isalpha(), isupper(), islower(), isdigit(), isxdigit(), isalnum(), isspace(), ispunct(), isprint(), isgraph(), iscntrl(), isascii() − classify characters

SYNOPSIS

#include <ctype.h>

int isalnum(int c);
int isalpha(int c);
int iscntrl(int c);
int isdigit(int c);
int isgraph(int c);
int islower(int c);
int isprint(int c);
int ispunct(int c);
int isspace(int c);
int isupper(int c);
int isxdigit(int c);
int isascii(int c);

DESCRIPTION

These functions classify character-coded integer values according to the rules of the coded character set identified by the last successful call to setlocale() (see setlocale(3C)). Each function is a predicate returning non-zero for true, zero for false.

If setlocale() has not been called successfully, characters are classified according to the rules of the default ASCII 7-bit coded character set (see setlocale(3C)).

isascii() is defined on all integer values; the other functions are defined for the range -1 (EOF) through 255. 

The functions return non-zero under the following circumstances; zero otherwise:

isalpha(c) c is a letter. 

isupper(c) c is an uppercase letter. 

islower(c) c is a lowercase letter. 

isdigit(c) c is a decimal digit (in ASCII : characters [0-9]). 

isxdigit(c) c is a hexadecimal digit (in ASCII : characters [0-9], [A-F] or [a-f]). 

isalnum(c) c is an alphanumeric (letters or digits). 

isspace(c) c is a character that creates “white space” in displayed text (in ASCII : space, tab, carriage return, new-line, vertical tab, and form-feed). 

ispunct(c) c is a punctuation character (in ASCII : any printing character except the space character (040), digits, letters). 

isprint(c) c is a printing character. 

isgraph(c) c is a visible character (in ASCII : printing characters, excluding the space character (040)). 

iscntrl(c) c is a control character (in ASCII : character codes less than 040 and the delete character (0177)). 

isascii(c) c is any ASCII character code between 0 and 0177, inclusive. 

If the argument to any of these functions is outside the domain of the function, the result is undefined. 

EXTERNAL INFLUENCES

Locale

The LC_CTYPE category determines the classification of character type. 

International Code Set Support

Single-byte character code sets are supported. 

WARNINGS

These functions are supplied both as library functions and as macros defined in the <ctype.h> header.  Normally, the macro versions are used.  To obtain the library function, either use a #undef to remove the macro definition or, if compiling in ANSI -C mode, enclose the function name in parenthesis or take its address.  The following example uses the library functions for isalpha(), isdigit(), and isspace():

#include <ctype.h>
#undef isalpha
...
main()
{
    int (*ctype_func)();
...
    if ( isalpha(c) )
...
    if ( (isdigit)(c) )
...
    ctype_func = isspace;
...
}

AUTHOR

ctype() was developed by IBM, OSF, and HP. 

SEE ALSO

setlocale(3C), ascii(5). 

STANDARDS CONFORMANCE

isalnum(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isalpha(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isascii(): AES, SVID2, SVID3, XPG2, XPG3, XPG4

iscntrl(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isdigit(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isgraph(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

islower(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isprint(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

ispunct(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isspace(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isupper(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

isxdigit(): AES, SVID2, SVID3, XPG2, XPG3, XPG4, FIPS 151-2, POSIX.1, ANSI C

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026