函数
<cctype>

isdigit

int isdigit ( int c );
检查字符是否为十进制数字
检查 c 是否为十进制数字字符。

十进制数字是以下任意一个0 1 2 3 4 5 6 7 8 9

有关不同ctype函数对标准 ASCII 字符集中每个字符返回值的详细图表,请参阅 <cctype> 头文件的参考。

在 C++ 中,此函数的一个与区域设置相关的模板版本 (isdigit) 存在于头文件 <locale> 中。

参数

c
要检查的字符,转型为int类型,或EOF.

返回值

如果 c 确实是空白字符,则返回一个非零值(即true) 如果 c 确实是十进制数字。否则返回零 (即false)。

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/* isdigit example */
#include <stdio.h>
#include <stdlib.h>
#include <ctype.h>
int main ()
{
  char str[]="1776ad";
  int year;
  if (isdigit(str[0]))
  {
    year = atoi (str);
    printf ("The year that followed %d was %d.\n",year,year+1);
  }
  return 0;
}

输出

The year that followed 1776 was 1777


isdigit用于检查str中的第一个字符是否为数字,从而判断其是否为可被 atoi 转换为整数值的有效候选项。

另见