COHERENT manpages

This page displays the COHERENT manpage for ctype.h [Header file for data tests].

List of available manpages
Index


ctype.h -- Header File

Header file for data tests
#include <ctype.h>

ctype.h declares  and defines the  following routines, which  can check and
transform character types:

_tolower()Convert an upper-case character to lower case
_toupper()Convert a lower-case character to upper case
isalnum() Test if alphanumeric character
isalpha() Test if alphabetic character
isascii() Test if ASCII character
iscntrl() Test if a control character
isdigit() Test if a numeric digit
isgraph() Test if a graphics character
islower() Test if lower-case character
isprint() Test if printable character
ispunct() Test if punctuation mark
isspace() Test if a tab, space, or return
isupper() Test if upper-case character
isxdigit()Test if hexadecimal numeral
toascii() Convert a character to ASCII
tolower() Convert an upper-case character to lower case
toupper() Convert a lower-case character to upper case

Example

The  following   example  demonstrates  isalnum(),   isalpha(),  isascii(),
iscntrl(),  isdigit(), islower(), isprint(),  ispunct(), and  isspace(). It
prints information about the type of characters it contains.

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

main()
{
          FILE *fp;
          char fname[20];
          int ch;
          int alnum = 0;
          int alpha = 0;
          int allow = 0;
          int control = 0;
          int printable = 0;
          int punctuation = 0;
          int space = 0;

          printf("Enter name of text file to examine: ");
          fflush(stdout);
          gets(fname);

          if ((fp = fopen(fname, "r")) != NULL) {
          while ((ch = fgetc(fp)) != EOF) {

           if (isascii(ch)) {
            if (isalnum(ch))
             alnum++;
            if (isalpha(ch))
             alpha++;
            if (islower(ch))
             allow++;
            if (iscntrl(ch))
             control++;
            if (isprint(ch))
             printable++;
            if (ispunct(ch))
             punctuation++;
            if (isspace(ch))
              space++;

           } else {
            printf("%s is not ASCII.\n",
              fname);
            exit(1);
           }
          }

          printf("%s has the following:\n", fname);
          printf("%d alphanumeric characters\n", alnum);
          printf("%d alphabetic characters\n", alpha);
          printf("%d alphabetic lower-case characters\n",
           allow);
          printf("%d control characters\n", control);
          printf("%d printable characters\n", printable);
          printf("%d punctuation marks\n", punctuation);
          printf("%d white space characters\n", space);
          exit(0);

          } else  {
          printf("Cannot open \"%s\".\n", fname);
          exit(2);
          }
}

See Also

header files,
libc
ANSI Standard, §7.3

Notes

The  argument for  a  ctype function  or  macro should  be an  int that  is
representable as  an unsigned char  or EOF --  i.e., [-1, 0,  ..., 255], as
described in the ANSI standard §4.3.

The functions _tolower(), _toupper(), isascii(), and toascii() are not part
of the  ANSI standard.  Programs that  use them may not  be portable to all
implementations of C.