Node:Classification of Characters,
Next:Case Conversion,
Up:Character Handling
Classification of Characters
This section explains the library functions for classifying characters.
For example, isalpha
is the function to test for an alphabetic
character. It takes one argument, the character to test, and returns a
nonzero integer if the character is alphabetic, and zero otherwise. You
would use it like this:
if (isalpha (c))
printf ("The character `%c' is alphabetic.\n", c);
Each of the functions in this section tests for membership in a
particular class of characters; each has a name starting with is
.
Each of them takes one argument, which is a character to test, and
returns an int
which is treated as a boolean value. The
character argument is passed as an int
, and it may be the
constant value EOF
instead of a real character.
The attributes of any given character can vary between locales.
See Locales, for more information on locales.
These functions are declared in the header file ctype.h
.
int islower (int c)
|
Function |
Returns true if c is a lower-case letter. The letter need not be
from the Latin alphabet, any alphabet representable is valid.
|
int isupper (int c)
|
Function |
Returns true if c is an upper-case letter. The letter need not be
from the Latin alphabet, any alphabet representable is valid.
|
int isalpha (int c)
|
Function |
Returns true if c is an alphabetic character (a letter). If
islower or isupper is true of a character, then
isalpha is also true.
In some locales, there may be additional characters for which
isalpha is true--letters which are neither upper case nor lower
case. But in the standard "C" locale, there are no such
additional characters.
|
int isdigit (int c)
|
Function |
Returns true if c is a decimal digit (0 through 9 ).
|
int isalnum (int c)
|
Function |
Returns true if c is an alphanumeric character (a letter or
number); in other words, if either isalpha or isdigit is
true of a character, then isalnum is also true.
|
int isxdigit (int c)
|
Function |
Returns true if c is a hexadecimal digit.
Hexadecimal digits include the normal decimal digits 0 through
9 and the letters A through F and
a through f .
|
int ispunct (int c)
|
Function |
Returns true if c is a punctuation character.
This means any printing character that is not alphanumeric or a space
character.
|
int isspace (int c)
|
Function |
Returns true if c is a whitespace character. In the standard
"C" locale, isspace returns true for only the standard
whitespace characters:
' '
- space
'\f'
- formfeed
'\n'
- newline
'\r'
- carriage return
'\t'
- horizontal tab
'\v'
- vertical tab
|
int isblank (int c)
|
Function |
Returns true if c is a blank character; that is, a space or a tab.
This function is a GNU extension.
|
int isgraph (int c)
|
Function |
Returns true if c is a graphic character; that is, a character
that has a glyph associated with it. The whitespace characters are not
considered graphic.
|
int isprint (int c)
|
Function |
Returns true if c is a printing character. Printing characters
include all the graphic characters, plus the space ( ) character.
|
int iscntrl (int c)
|
Function |
Returns true if c is a control character (that is, a character that
is not a printing character).
|
int isascii (int c)
|
Function |
Returns true if c is a 7-bit unsigned char value that fits
into the US/UK ASCII character set. This function is a BSD extension
and is also an SVID extension.
|