function
<cctype>
ispunct
Check if character is a punctuation character
Checks whether c is a punctuation character.
The standard "C" locale considers punctuation characters all graphic characters (as in isgraph) that are not alphanumeric (as in isalnum).
Other locales may consider a different selection of characters as punctuation characters, but in any case they are isgraph but not isalnum.
For a detailed chart on what the different ctype functions return for each character of the standard ANSII character set, see the reference for the <cctype> header.
In C++, a locale-specific template version of this function (ispunct) exists in header <locale>.
Parameters
- c
- Character to be checked, casted to an int, or EOF.
Return Value
A value different from zero (i.e., true) if indeed c is a punctuation character. Zero (i.e., false) otherwise.
Example
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 
 | /* ispunct example */
#include <stdio.h>
#include <ctype.h>
int main ()
{
  int i=0;
  int cx=0;
  char str[]="Hello, welcome!";
  while (str[i])
  {
    if (ispunct(str[i])) cx++;
    i++;
  }
  printf ("Sentence contains %d punctuation characters.\n", cx);
  return 0;
}
 | 
Output
| Sentence contains 2 punctuation characters.
 | 
See also
- isgraph
- Check if character has graphical representation (function
)
- iscntrl
- Check if character is a control character (function
)