首页  >  文章  >  后端开发  >  C 中如何确定字符串或字符数组是否仅包含数字?

C 中如何确定字符串或字符数组是否仅包含数字?

Susan Sarandon
Susan Sarandon原创
2024-11-02 17:21:03293浏览

How to Determine if a String or Character Array Contains Only Digits in C  ?

确定字符串和字符数组的数量

在 C 中,验证字符串或字符数组 (char*) 是否仅包含数字字符是一个共同的要求。让我们探索两种可靠的方法:

方法 1:find_first_not_of()

此方法利用 find_first_not_of() 函数,该函数查找非数字字符的第一次出现。如果没有找到这样的字符,则返回 std::string::npos,表示仅存在数字:

<code class="cpp">bool is_digits(const std::string &str)
{
    return str.find_first_not_of("0123456789") == std::string::npos;
}</code>

方法 2:std::all_of()

此方法利用 std::all_of() 函数,该函数检查范围内的所有元素是否满足给定谓词。在本例中,谓词为 ::isdigit,对于数字字符返回 true:

<code class="cpp">bool is_digits(const std::string &str)
{
    return std::all_of(str.begin(), str.end(), ::isdigit); // C++11
}</code>

字符串和字符数组的比较

两种方法同样适用字符串和字符数组。但是,在使用 std::string 成员函数之前,字符数组需要显式转换为字符串。

以上是C 中如何确定字符串或字符数组是否仅包含数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn