Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/string/byte/isalpha"

From cppreference.com
< cpp‎ | string‎ | byte
m (Text replace - "/sidebar" to "/navbar")
(mention locale-specific nature, and example)
Line 5: Line 5:
 
}}
 
}}
  
Checks if the given character is an alphabetic character, i.e. either an uppercase letter ({{tt|ABCDEFGHIJKLMNOPQRSTUVWXYZ}}), or a lowercase letter ({{tt|abcdefghijklmnopqrstuvwxyz}}).
+
Checks if the given character is an alphabetic character according to the currently installed C locale. In the default locale, this function returns {{c|true}} for the letters {{tt|ABCDEFGHIJKLMNOPQRSTUVWXYZ}} and {{tt|abcdefghijklmnopqrstuvwxyz}}.
  
 
===Parameters===
 
===Parameters===
Line 14: Line 14:
 
===Return value===
 
===Return value===
 
Non-zero value ({{c|true}}) if the character is an alphabetic character, {{tt|0}} ({{c|false}}) otherwise.
 
Non-zero value ({{c|true}}) if the character is an alphabetic character, {{tt|0}} ({{c|false}}) otherwise.
 +
 +
===Example===
 +
{{example|
 +
| code=
 +
#include <iostream>
 +
#include <cctype>
 +
#include <clocale>
 +
       
 +
int main()
 +
{       
 +
    char c = '\xdf'; // German letter ß in ISO-8859-1
 +
 +
    std::cout << "isalpha(\'\\xdf\', default C locale) returned "
 +
              << std::boolalpha << (bool)std::isalpha(c) << '\n';
 +
 +
    std::setlocale(LC_ALL, "de_DE.iso88591");
 +
    std::cout << "isalpha(\'\\xdf\', ISO-8859-1 locale) returned "
 +
              << std::boolalpha << (bool)std::isalpha(c) << '\n';
 +
   
 +
}
 +
| output=
 +
isalpha('\xdf', default C locale) returned false
 +
isalpha('\xdf', ISO-8859-1 locale) returned true
 +
}}
  
 
===See also===
 
===See also===

Revision as of 04:32, 15 October 2012

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

Checks if the given character is an alphabetic character according to the currently installed C locale. In the default locale, this function returns true for the letters ABCDEFGHIJKLMNOPQRSTUVWXYZ and abcdefghijklmnopqrstuvwxyz.

Contents

Parameters

ch - character

Return value

Non-zero value (true) if the character is an alphabetic character, 0 (false) otherwise.

Example

#include <iostream>
#include <cctype> 
#include <clocale>
 
int main()
{        
    char c = '\xdf'; // German letter ß in ISO-8859-1
 
    std::cout << "isalpha(\'\\xdf\', default C locale) returned "
               << std::boolalpha << (bool)std::isalpha(c) << '\n';
 
    std::setlocale(LC_ALL, "de_DE.iso88591");
    std::cout << "isalpha(\'\\xdf\', ISO-8859-1 locale) returned "
              << std::boolalpha << (bool)std::isalpha(c) << '\n';
 
}

Output:

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

See also

Template:cpp/locale/dcl list isalphaTemplate:cpp/string/wide/dcl list iswalpha
C documentation for isalpha
ASCII values characters

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

decimal hexadecimal octal
0–8 \x0\x8 \0\10 control codes (NUL, etc.) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 tab (\t) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA\xD \12\15 whitespaces (\n, \v, \f, \r) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \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
33–47 \x21\x2F \41\57 !"#$%&'()*+,-./ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
48–57 \x30\x39 \60\71 0123456789 0 ≠0 0 0 ≠0 0 ≠0 0 0 0 ≠0 ≠0
58–64 \x3A\x40 \72\100 :;<=>?@ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
65–70 \x41\x46 \101\106 ABCDEF 0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 ≠0
71–90 \x47\x5A \107\132 GHIJKLMNOP
QRSTUVWXYZ
0 ≠0 0 0 ≠0 0 ≠0 ≠0 ≠0 0 0 0
91–96 \x5B\x60 \133\140 [\]^_` 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
97–102 \x61\x66 \141\146 abcdef 0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 ≠0
103–122 \x67\x7A \147\172 ghijklmnop
qrstuvwxyz
0 ≠0 0 0 ≠0 0 ≠0 ≠0 0 ≠0 0 0
123–126 \x7B\x7E \172\176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 backspace character (DEL) ≠0 0 0 0 0 0 0 0 0 0 0 0