__iscsym, __iswcsym, __iscsymf, __iswcsymf, _iscsym_l, _iswcsym_l, _iscsymf_l, _iswcsymf_l
Determine if an integer represents a character that may be used in an identifier.
int __iscsym(
int c
);
int __iswcsym(
wint_t c
);
int __iscsymf(
int c
);
int __iswcsymf(
wint_t c
);
int _iscsym_l(
int c,
_locale_t locale
);
int _iswcsym_l(
wint_t c,
_locale_t locale
);
int _iscsymf_l(
int c,
_locale_t locale
);
int _iswcsymf_l(
wint_t c,
_locale_t locale
);
Parameters
c
Integer to test. c should be in the range of 0-255 for the narrow character version of the function.locale
The locale to use.
Return Value
__iscsym returns a nonzero value if c is a letter, underscore, or digit. __iscsymf returns a nonzero value if c is a letter or an underscore. Each of these routines returns 0 if c does not satisfy the test condition. Both of these routines are macros, so be careful using expressions with side effects within the argument list; the arguments will be evaluated more than once.
The versions of these functions with the _l suffix are identical except that they use the locale passed in instead of the current locale for their locale-dependent behavior. For more information, see Locale.
In Visual C++ 2005, the wide character versions of these macros are available.
The following table shows the equivalent expressions for each of these macros:
Macro |
Equivalent |
---|---|
__iscsym(c) |
(isalnum(c) || ((c) == '_')) |
__iswcsym(c) |
(iswalnum(c) || ((c) == '_')) |
__iscsymf(c) |
(isalpha(c) || ((c) == '_')) |
__iswcsymf(c) |
(iswalpha(c) || ((c) == '_')) |
Requirements
Routine |
Required header |
---|---|
__iscsym |
<ctype.h> |
__iswcsym |
<ctype.h> |
__iscsymf |
<ctype.h> |
__iswcsymf |
<ctype.h> |
_iscsym_l |
<ctype.h> |
_iswcsym_l |
<ctype.h> |
_iscsymf_l |
<ctype.h> |
_iswcsymf_l |
<ctype.h> |
For additional compatibility information, see Compatibility in the Introduction.