Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::iswdigit(3)	      C++ Standard Libary	      std::iswdigit(3)

NAME
       std::iswdigit - std::iswdigit

Synopsis
	  Defined in header <cwctype>
	  int iswdigit(	wint_t ch );

	  Checks  if the given wide character corresponds (if narrowed)	to one
       of the ten
	  decimal digit	characters 0123456789.

	  If the value of ch is	neither	representable as a wchar_t  nor	 equal
       to the value of
	  the macro WEOF, the behavior is undefined.

Parameters
	  ch - wide character

Return value
	  Non-zero  value  if the wide character is an numeric character, zero
       otherwise.

Notes
	  std::iswdigit	and std::iswxdigit are the only	standard wide  charac-
       ter classification
	  functions that are not affected by the currently installed C locale.

Example
	  Some	locales	 offer	additional  character classes that detect non-
       ASCII digits

       // Run this code

	#include <iostream>
	#include <cwctype>
	#include <clocale>
	void test(wchar_t a3, wchar_t u3, wchar_t j3)
	{
	    std::wcout << std::boolalpha
		       << "	     '"	<< a3 << "'   '" << u3 << "'  '" << j3
       << "'\n"
		       << "iswdigit "
		       << (bool)std::iswdigit(a3) << "	"
		       << (bool)std::iswdigit(u3) << " "
		       << (bool)std::iswdigit(j3) << '\n'
		       << "jdigit:  "
		       << (bool)std::iswctype(a3, std::wctype("jdigit")) <<  '
       '
		       <<  (bool)std::iswctype(u3, std::wctype("jdigit")) << '
       '
		       <<  (bool)std::iswctype(j3,  std::wctype("jdigit"))  <<
       '\n';
	}
	int main()
	{
	    wchar_t a3 = L'3';	// the ASCII digit 3
	    wchar_t u3 = L''; // the CJK numeral 3
	    wchar_t j3 = L''; // the fullwidth digit 3

	    std::setlocale(LC_ALL, "en_US.utf8");
	    std::wcout << "In american locale:\n";
	    test(a3, u3, j3);

	    std::wcout << "\nIn	japanese locale:\n";
	    std::setlocale(LC_ALL, "ja_JP.utf8");
	    test(a3, u3, j3);
	}

Output:
	In american locale:
		  '3'	''  ''
	iswdigit true  false false
	jdigit:	 false false false

	In japanese locale:
		  '3'	''  ''
	iswdigit true  false false
	jdigit:	 false false true

See also
	  isdigit(std::locale)	checks if a character is classified as a digit
       by a locale
			       (function template)
	  isdigit	       checks if a character is	a digit
			       (function)

		 ASCII values		   characters	 iscntrl  isprint  is-
       space  isblank  isgraph	ispunct	 isalnum   isalpha   isupper   islower
       isdigit	isxdigit
	decimal	  hexadecimal	  octal			    iswcntrl  iswprint
       iswspace	iswblank iswgraph iswpunct iswalnum iswalpha iswupper iswlower
       iswdigit	iswxdigit 08	 \x0\x8	  \0\10	   control  codes     0	     0
       0	 0	   0	     0	       0	 0	   0	     0
       0	0
					 (NUL,	  etc.)	     9		   \x9
       \11	    tab	 (\t)	       0     0	       0      0	    0	     0
       0	0	 0	  0	   0	    0
					 whitespaces  1013    \xA\xD	\12\15
       (\n,  \v,  \f,	   0	  0	    0	  0	   0	    0	     0
       0	0	 0	  0	   0
					 \r) 1431   \xE\x1F  \16\37    control
       codes	 0     0	0	 0	  0	   0	    0	     0
       0	0	 0	  0 32	       \x20	    \40		 space
       0	  0	  0	  0	 0	  0	   0	    0	     0
       0	 0	   0  3347    \x21\x2F	\41\57	   !"#$%&'()*+,-./   0
       0      0		0	   0	   0	  0	   0	    0	     0
       0	0 4857	 \x30\x39 \60\71   0123456789	   0	      0	     0
       0	  0	 0	    0	  0	   0	    0	      0	     0
       5864   \x3A\x40 \72\100	:;<=>?@		 0	    0	   0	     0
       0       0      0		0	  0	    0	      0		0 6570
       \x41\x46	\101\106 ABCDEF		 0	   0	 0	  0	     0
       0	  0	  0	  0	 0	   0	     0 7190   \x47\x5A
       \107\132	GHIJKLMNOP	0	  0	 0	   0	      0	     0
       0      0	     0	   0	    0	     0
					 QRSTUVWXYZ  9196    \x5B\x60 \133\140
       [\]^_`	       0	  0	 0	   0	      0	      0	     0
       0	 0	   0	    0	     0 97102  \x61\x66 \141\146	abcdef
       0	 0     0	 0	    0	   0	      0	      0	     0
       0      0		0 103122 \x67\x7A \147\172 ghijklmnop	   0	     0
       0	0	  0	 0	    0	    0	   0	      0	     0
       0
					 qrstuvwxyz  123126  \x7B\x7E \172\176
       {|}~	       0	  0	 0	   0	      0	      0	     0
       0	 0	   0	     0	       0  127	     \x7F	  \177
       backspace	0     0	       0	0	 0	   0	     0
       0	0	 0	  0	   0
					 character (DEL)

http://cppreference.com		  2022.07.31		      std::iswdigit(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::iswdigit&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help