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
1 2 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)