为了账号安全,请及时绑定邮箱和手机立即绑定

如何检查给定的c ++字符串或char *是否仅包含数字?

如何检查给定的c ++字符串或char *是否仅包含数字?

C++
缥缈止盈 2019-12-04 11:18:14
或通过另一种方法找到第一个非数字字符。相同的函数适用于string和char *吗?
查看完整描述

3 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

在cctype头文件中有相当数量的,你可以在字符串中的每个字符使用字符分类功能。对于数字检查,应为isdigit。


以下程序显示了如何检查C或C ++字符串的每个字符(就检查实际字符而言,该过程几乎是相同的,唯一真正的区别是如何获得长度):


#include <iostream>

#include <cstring>

#include <cctype>

int main (void) {

    const char *xyzzy = "42x";

    std::cout << xyzzy << '\n';

    for (int i = 0; i < std::strlen (xyzzy); i++) {

        if (! std::isdigit (xyzzy[i])) {

            std::cout << xyzzy[i] << " is not numeric.\n";

        }

    }


    std::string plugh ("3141y59");

    std::cout << plugh << '\n';

    for (int i = 0; i < plugh.length(); i++) {

        if (! std::isdigit (plugh[i])) {

            std::cout << plugh[i] << " is not numeric.\n";

        }

    }


    return 0;

}


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 799 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信