c++ - isdigit,如何区分字符和数字

标签 c++

<分区>

我想检查我的数组是否只有数字,我该如何检查呢?

我试过这个例子,但它不起作用,我不明白为什么。

int main() {

char* str = new char[9];
cin >> str;




cout << isdigit(str[0])<<endl;


system("pause");
return 0;
}

输入:

1234

输出: 4

我想要的是:

输入: 第1234章

打印:好的

输入:
12fg

打印:不行(因为我数组中的字符)

期待您的帮助和解释

谢谢。

最佳答案

试试这个

if(isdigit(str[0]))
  cout << 'ok'
else
  cout << 'not ok'

额外的功劳 1. 使用这个验证整个字符串

额外的功劳2.找到不同的方法来验证整个字符串(有很多)

额外学分 3. 更难,找出为什么你从 isdigit(str[0])

得到“4”

关于c++ - isdigit,如何区分字符和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43127329/

相关文章:

c++ - 我可以使用 EXPECT_CALL 来验证模拟对象的构造函数是否在特定时间调用成员函数吗?

c++ - 返回对临时对象成员的 const 引用

C++ plus 运算符不适用于 const char 和其他运算符

c++ - 从 Excel VBA 使用 C++ dll 时出现 "Bad DLL calling convention"- 如何解决?

C++: 'adding references' 到命名空间(和类库)?

c++ - 为什么 C++ 这样做?

c++ - Boost 的 ASIO + SSL 在某些情况下不起作用

c++ - 获取指向 boost::any::operator= 的指针

c++ - 如何根据类型为元组元素创建专门的函数

c++ - 我如何计算手指的数量? (openCV + 轮廓检测)