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

FreeBSD Manual Pages

  
 
  

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

NAME
       std::isdigit - std::isdigit

Synopsis
	  Defined in header <cctype>
	  int isdigit( int ch );

	  Checks  if  the  given  character  is	 one of	the 10 decimal digits:
       0123456789.

	  The behavior is undefined if the value of ch is not representable as
       unsigned	char
	  and is not equal to EOF.

Parameters
	  ch - character to classify

Return value
	  Non-zero value if the	character is a numeric character, zero	other-
       wise.

Notes
	  isdigit  and isxdigit	are the	only standard narrow character classi-
       fication	functions
	  that are not affected	by the currently installed C locale.  although
       some
	  implementations (e.g.	Microsoft in 1252 codepage) may	classify addi-
       tional
	  single-byte characters as digits.

	  Like all other functions from	<cctype>, the behavior of std::isdigit
       is undefined if
	  the  argument's  value is neither representable as unsigned char nor
       equal to	EOF. To
	  use these functions safely with plain	chars (or signed  chars),  the
       argument	should
	  first	be converted to	unsigned char:

	bool my_isdigit(char ch)
	{
	    return std::isdigit(static_cast<unsigned char>(ch));
	}

	  Similarly, they should not be	directly used with standard algorithms
       when the
	  iterator's  value  type is char or signed char. Instead, convert the
       value to	unsigned
	  char first:

	int count_digits(const std::string& s)
	{
	    return std::count_if(s.begin(), s.end(),
			      //	static_cast<int(*)(int)>(std::isdigit)
       // wrong
			      //   [](int   c){	  return   std::isdigit(c);  }
       // wrong
			      //  [](char  c){	 return	  std::isdigit(c);   }
       // wrong
				 [](unsigned  char c){ return std::isdigit(c);
       } // correct
				);
	}

See also
	  isdigit(std::locale) checks if a character is	classified as a	 digit
       by a locale
			       (function template)
	  iswdigit	       checks if a wide	character is a digit
			       (function)
	  C documentation for
	  isdigit

	       ASCII values	       characters    iscntrl  isprint  isspace
       isblank	 isgraph  ispunct  isalnum  isalpha  isupper  islower  isdigit
       isxdigit	decimal	hexadecimal    octal			iswcntrl  isw-
       print  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		  2024.06.10		       std::isdigit(3)

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

home | help