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.

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 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

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.

See Also

Reference

Character Classification

Locale

is, isw Routines