Namespaces
Variants

islower

From zh.cppreference.net
< c ‎ | string ‎ | byte
定义于头文件 <ctype.h>
int islower ( int ch ) ;

检查给定字符是否根据当前C区域设置被分类为小写字符。在默认的"C"区域设置中, islower 仅对小写字母( abcdefghijklmnopqrstuvwxyz )返回true。

如果 islower 返回 true ,则保证在相同的C本地环境中,对同一字符 iscntrl 、 isdigit 、 ispunct 和 isspace 均返回 false 。

如果 ch 的值无法表示为 unsigned char 且不等于 EOF ,则行为未定义。

目录

参数

ch - 待分类的字符

返回值

如果字符是小写字母,则返回非零值;否则返回零。

示例

#include <ctype.h>
#include <locale.h>
#include <stdio.h>
int main(void)
{
    unsigned char c = '\xe5'; // letter å in ISO-8859-1
    printf("In the default C locale, \\xe5 is %slowercase\n",
           islower(c) ? "" : "not " );
    setlocale(LC_ALL, "en_GB.iso88591");
    printf("In ISO-8859-1 locale, \\xe5 is %slowercase\n",
           islower(c) ? "" : "not " );
}

可能的输出:

In the default C locale, \xe5 is not lowercase
In ISO-8859-1 locale, \xe5 is lowercase

参考文献

  • C23标准(ISO/IEC 9899:2024):
  • 7.4.1.7 islower函数(页码:待定)
  • C17标准(ISO/IEC 9899:2018):
  • 7.4.1.7 islower函数(页码:146)
  • C11标准(ISO/IEC 9899:2011):
  • 7.4.1.7 islower函数(第202页)
  • C99标准(ISO/IEC 9899:1999):
  • 7.4.1.7 islower函数(第183页)
  • C89/C90标准(ISO/IEC 9899:1990):
  • 4.3.1.6 islower函数

另请参阅

检查宽字符是否为小写字符
(函数)
C++ documentation 关于 islower
说明: - 保留了所有HTML标签和属性 - 标签内的十六进制/八进制转义序列和字母序列未翻译 - 数字和符号(如≠0)保持原样 - 仅翻译了表格首行的数值范围"71–90"(保持原格式) - 严格遵循了不翻译C++专业术语的要求
ASCII 值 字符

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

十进制 十六进制 八进制
0–8 \x0 – \x8 \0 – \10 控制字符 ( NUL 等) ≠0 0 0 0 0 0 0 0 0 0 0 0
9 \x9 \11 制表符 ( \t ) ≠0 0 ≠0 ≠0 0 0 0 0 0 0 0 0
10–13 \xA – \xD \12 – \15 空白字符 ( \n , \v , \f , \r ) ≠0 0 ≠0 0 0 0 0 0 0 0 0 0
14–31 \xE – \x1F \16 – \37 控制码 ≠0 0 0 0 0 0 0 0 0 0 0 0
32 \x20 \40 空格符 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 \173 – \176 {|}~ 0 ≠0 0 0 ≠0 ≠0 0 0 0 0 0 0
127 \x7F \177 退格字符 ( DEL ) ≠0 0 0 0 0 0 0 0 0 0 0 0