The GNU C Library - Classification of Characters
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'.
- Function int islower (int c)
-
Returns true if c is a lower-case letter.
- Function int isupper (int c)
-
Returns true if c is an upper-case letter.
- Function int isalpha (int c)
-
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.
- Function int isdigit (int c)
-
Returns true if c is a decimal digit (`0' through `9').
- Function int isalnum (int c)
-
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.
- Function int isxdigit (int c)
-
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'.
- Function int ispunct (int c)
-
Returns true if c is a punctuation character. This means any printing character that is not alphanumeric or a space character.
- Function int isspace (int c)
-
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
- Function int isblank (int c)
-
Returns true if c is a blank character; that is, a space or a tab. This function is a GNU extension.
- Function int isgraph (int c)
-
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.
- Function int isprint (int c)
-
Returns true if c is a printing character. Printing characters include all the graphic characters, plus the space (` ') character.
- Function int iscntrl (int c)
-
Returns true if c is a control character (that is, a character that is not a printing character).
- Function int isascii (int c)
-
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.
Next: Case Conversion
Up: Character Handling