当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ isdigit()用法及代码示例


在本教程中,我们将借助示例了解 C++ isdigit() 函数。

C++ 中的isdigit() 函数检查给定字符是否为数字。它在cctype 头文件中定义。

示例

#include <iostream>
using namespace std;

int main() {

  // checks if '9' is a digit
  cout << isdigit('9');

  return 0;
}

// Output: 1

isdigit() 语法

用法:

isdigit(int ch);

在这里,ch 是我们要检查的字符。

参数:

isdigit() 函数采用以下参数:

  • ch- 要检查的字符,投射到int输入或EOF

返回:

isdigit() 函数返回:

  • 如果 ch 是数字,则为非零整数值 (true)
  • 如果 ch 不是数字,则整数零 (false)

isdigit() 原型

cctype 头文件中定义的isdigit() 原型为:

int isdigit(int ch);

如我们所见,字符参数ch实际上是int类型。这意味着isdigit()函数检查ASCII角色的价值。

isdigit() 未定义行为

的行为isdigit()不明确的如果:

  • ch 的值不能表示为 unsigned char ,或者
  • ch 的值不等于 EOF

示例:C++ isdigit()

#include <cctype>
#include <iostream>
#include <cstring>
using namespace std;

int main() {
  char str[] = "hj;pq910js4";
  int check;

  cout << "The digit in the string are:" << endl;

  for (int i = 0; i < strlen(str); i++)  {

    // check if str[i] is a digit
    check = isdigit(str[i]);

    if (check)
      cout << str[i] << endl;
  }

  return 0;
}

输出

The digit in the string are:
9
1
0
4

在这里,我们创建了一个 C-string str 。然后,我们使用for 循环仅打印字符串中的数字。循环从 i = 0 运行到 i = strlen(str) - 1

for (int i = 0; i < strlen(str); i++) {
...
}

换句话说,循环遍历整个字符串,因为 strlen() 给出了 str 的长度。

在循环的每次迭代中,我们使用isdigit() 函数来检查字符串元素str[i] 是否为数字。结果存储在check 变量中。

check = isdigit(str[i]);

如果check 返回非零值,我们打印字符串元素。

if (check)
  cout << str[i] << endl;

相关用法


注:本文由纯净天空筛选整理自 C++ isdigit()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。