Determines if a particular character represents a punctuation character.
int ispunct(
   int c 
);
int iswpunct(
   wint_t c 
);
int _ispunct_l(
   int c,
   _locale_t locale
);
int _iswpunct_l(
   wint_t c,
   _locale_t locale
);
Parameters
- c 
 Integer to test.
- locale 
 The locale to use.
Return Value
Each of these routines returns nonzero if c is a particular representation of a punctuation character. ispunct returns a nonzero value for any printable character that is not a space character or a character for which isalnum is nonzero. iswpunct returns a nonzero value for any printable wide character that is neither the space wide character nor a wide character for which iswalnum is nonzero. Each of these routines returns 0 if c does not satisfy the test condition.
The result of the test condition for the ispunctfunction depends on the LC_CTYPE category setting of the locale; see setlocale for more information. The versions of these functions without the _l suffix use the current locale for any locale-dependent behavior; the versions with the _l suffix are identical except that they use the locale passed in instead. For more information, see Locale.
When used with a debug CRT library, ispunct will display a CRT assert if passed a parameter that is not EOF or in the range of 0 through 0xFF. When used with a debug CRT library, ispunct will use the parameter as an index into an array, with undefined results if the parameter is not EOF or in the range of 0 through 0xFF.
Generic-Text Routine Mappings
| TCHAR.H routine | _UNICODE & _MBCS not defined | _MBCS defined | _UNICODE defined | 
|---|---|---|---|
| _istpunct | ispunct | iswpunct | 
Requirements
| Routine | Required header | 
|---|---|
| ispunct | <ctype.h> | 
| iswpunct | <ctype.h> or <wchar.h> | 
| _ispunct_l | <ctype.h> | 
| _iswpunct_l | <ctype.h> or <wchar.h> | 
For additional compatibility information, see Compatibility in the Introduction.