Cpp Char Type-checking Functions

51 篇文章 2 订阅

isdigit

 

C

Strings library

Null-terminated byte strings

 

Defined in header <ctype.h>

  

int isdigit( int ch );

  
   

Checks if the given character is a numeric character (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 otherwise.

Notes

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

Example

Run this code

#include <stdio.h>
#include <ctype.h>
#include <limits.h>
 
int main(void)
{
    for (int ndx=0; ndx<=UCHAR_MAX; ndx++)
        if (isdigit(ndx)) printf("%c", ndx);
    printf("\n");
}

Output:

0123456789

References

  • C11 standard (ISO/IEC 9899:2011):
  • 7.4.1.5 The isdigit function (p: 201)
  • C99 standard (ISO/IEC 9899:1999):
  • 7.4.1.5 The isdigit function (p: 182)
  • C89/C90 standard (ISO/IEC 9899:1990):
  • 4.3.1.4 The isdigit function

See also

iswdigit

(C95)

checks if a wide character is a digit
(function)

C++ documentation for isdigit

ASCII valuescharacters

iscntrl
iswcntrl

isprint
iswprint

isspace
iswspace

isblank
iswblank

isgraph
iswgraph

ispunct
iswpunct

isalnum
iswalnum

isalpha
iswalpha

isupper
iswupper

islower
iswlower

isdigit
iswdigit

isxdigit
iswxdigit

decimalhexadecimaloctal
0–8\x0\x8\0\10control codes (NUL, etc.)≠000000000000
9\x9\11tab (\t)≠00≠0≠000000000
10–13\xA\xD\12\15whitespaces (\n\v\f\r)≠00≠0000000000
14–31\xE\x1F\16\37control codes≠000000000000
32\x20\40space0≠0≠0≠000000000
33–47\x21\x2F\41\57!"#$%&'()*+,-./0≠000≠0≠0000000
48–57\x30\x39\60\7101234567890≠000≠00≠0000≠0≠0
58–64\x3A\x40\72\100:;<=>?@0≠000≠0≠0000000
65–70\x41\x46\101\106ABCDEF0≠000≠00≠0≠0≠000≠0
71–90\x47\x5A\107\132GHIJKLMNOP
QRSTUVWXYZ
0≠000≠00≠0≠0≠0000
91–96\x5B\x60\133\140[\]^_`0≠000≠0≠0000000
97–102\x61\x66\141\146abcdef0≠000≠00≠0≠00≠00≠0
103–122\x67\x7A\147\172ghijklmnop
qrstuvwxyz
0≠000≠00≠0≠00≠000
123–126\x7B\x7E\172\176{|}~0≠000≠0≠0000000
127\x7F\177backspace character (DEL)≠000000000000
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值