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

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.

.NET Framework Equivalent

System::Char::IsSymbol

See Also

Reference

Character Classification

Locale

is, isw Routines