确定字符串和字符数组的数量
在 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中文网其他相关文章!