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

NAME
     std::isalpha - std::isalpha

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

	Checks	if  the given character is an alphabetic character as classified
     by the
	currently installed C locale. In the default locale, the following char-
     acters are
	alphabetic:

	  * uppercase letters ABCDEFGHIJKLMNOPQRSTUVWXYZ
	  * lowercase letters abcdefghijklmnopqrstuvwxyz

	In locales other than "C", an alphabetic character is  a  character  for
     which
	std::isupper() or std::islower() returns non-zero or any other character
     considered
	alphabetic by the locale. In any case, std::iscntrl(), std::isdigit(),
	std::ispunct() and std::isspace() will return zero for this character.

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

Parameters
	ch - character to classify

Return value
	Non-zero  value if the character is an alphabetic character, zero other-
     wise.

Notes
	Like all other functions from <cctype>, the behavior of std::isalpha  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 argu-
     ment should
	first be converted to unsigned char:

      bool my_isalpha(char ch)
      {
	  return std::isalpha(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_alphas(const std::string& s)
      {
	  return std::count_if(s.begin(), s.end(),
			    // static_cast<int(*)(int)>(std::isalpha)	      //
     wrong
			    // [](int c){ return std::isalpha(c); }	      //
     wrong
			    // [](char c){ return std::isalpha(c); }	      //
     wrong
			       [](unsigned char c){ return std::isalpha(c); } //
     correct
			      );
      }

Example
	Demonstrates the use of std::isalpha  with  different  locales	(OS-spe-
     cific).

     // Run this code

      #include <cctype>
      #include <clocale>
      #include <iostream>

      int main()
      {
	  unsigned char c = '\xdf'; // German letter A in ISO-8859-1

	  std::cout << "isalpha(\'\\xdf\', default C locale) returned "
		    << std::boolalpha << !!std::isalpha(c) << '\n';

	  std::setlocale(LC_ALL, "de_DE.iso88591");
	  std::cout << "isalpha(\'\\xdf\', ISO-8859-1 locale) returned "
		    << static_cast<bool>(std::isalpha(c)) << '\n';

      }

Possible output:
      isalpha('\xdf', default C locale) returned false
      isalpha('\xdf', ISO-8859-1 locale) returned true

See also
	isalpha(std::locale)  checks  if a character is classified as alphabetic
     by a locale
			     (function template)
	iswalpha	     checks if a wide character is alphabetic
			     (function)
	C documentation for
	isalpha

	     ASCII values	      characters     iscntrl   isprint	 isspace
     isblank   isgraph	 ispunct   isalnum   isalpha   isupper	islower  isdigit
     isxdigit decimal hexadecimal    octal		      iswcntrl	iswprint
     iswspace  iswblank  iswgraph  iswpunct  iswalnum iswalpha iswupper iswlower
     iswdigit iswxdigit  0a8	  \x0a\x8      \0a\10	  control  codes    a  0
     0	       0	 0	  0	   0	    0	     0	      0        0
     0	      0
				   (NUL,   etc.)    9	      \x9	     \11
     tab  (\t)	      a 0	0	 a 0	   a 0	     0	      0        0
     0	      0        0	0	 0
				   whitespaces	 10a13	   \xAa\xD	 \12a\15
     (\n,  \v,	\f,    a 0	 0	  a 0	    0	     0	      0        0
     0	      0        0	0	 0
				   \r)	14a31	 \xEa\x1F     \16a\37	 control
     codes    a  0	 0	  0	   0	    0	     0	      0        0
     0	       0	 0	   0   32	 \x20	       \40	   space
     0	       a  0	   a  0        a  0	   0	     0	      0        0
     0	      0        0	0 33a47   \x21a\x2F   \41a\57	 !"#$%&'()*+,-./
     0	       a  0	   0	     0	       a  0	   a  0       0        0
     0	      0 	0	  0  48a57    \x30a\x39    \60a\71    0123456789
     0	       a  0	   0	     0	       a  0	   0	     a 0       0
     0	      0        a 0	  a  0	58a64	 \x3Aa\x40    \72a\100	 :;<=>?@
     0	       a  0	   0	     0	       a  0	   a  0       0        0
     0	       0	 0	   0  65a70	\x41a\x46     \101a\106   ABCDEF
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     a 0       0	0	 a 0 71a90    \x47a\x5A    \107a\132  GHIJKLMNOP
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     a 0       0	0	 0
				   QRSTUVWXYZ  91a96	 \x5Ba\x60     \133a\140
     [\]^_`	      0        a 0	 0	  0	   a 0	     a 0       0
     0	      0        0	0	 0 97a102  \x61a\x66   \141a\146  abcdef
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     0	      a 0	0	 a 0 103a122  \x67a\x7A    \147a\172  ghijklmnop
     0	       a  0	   0	     0	       a  0	  0	   a 0	     a 0
     0	      a 0	0	 0
				   qrstuvwxyz 123a126 \x7Ba\x7E   \172a\176 {|}~
     0	      a 0	 0	   0	     a	0	 a  0	     0	       0
     0	       0	 0	   0  127      \x7F	    \177       backspace
     a 0       0	0	 0	  0	   0	    0	     0	       0
     0	      0        0
				   character (DEL)

http://cppreference.com 	   2024.06.10			 std::isalpha(3)

home | help