ispunct, iswpunct, _ispunct_l, _iswpunct_l
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at ispunct, iswpunct, _ispunct_l, _iswpunct_l.
Determines whether an integer 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.
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 ispunct function depends on the LC_CTYPE category setting of the locale; see setlocale, _wsetlocale for more information. The versions of these functions that do not have the _l suffix use the current locale for any locale-dependent behavior; the versions that do have the _l suffix are identical except that they use the locale that's passed in instead. For more information, see Locale.
The behavior of ispunct and _ispunct_l is undefined if c is not EOF or in the range 0 through 0xFF, inclusive. When a debug CRT library is used and c is not one of these values, the functions raise an assertion.
Generic-Text Routine Mappings
| TCHAR.H routine | _UNICODE & _MBCS not defined | _MBCS defined | _UNICODE defined |
|---|---|---|---|
_ istpunct | ispunct | _ismbcpunct | iswpunct |
| 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.