當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。