首页 >后端开发 >C++ >如何检查 C 字符串和字符指针中的数字?

如何检查 C 字符串和字符指针中的数字?

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

How Can You Check for Digits in C   Strings and Char Pointers?

检查 C 字符串和字符指针中的数字

确定字符串或字符指针是否仅包含数字字符是编程中的常见任务。 C 提供了多种方法来执行此检查,适用于 std::string 和 char*。

基于字符串的方法

检查 std::string 是否仅包含数字,您可以使用 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>

基于字符指针的方法

对于字符指针,您可以使用 std::all_of() 函数和 ::isdigit 函数来检查指针中的所有字符是否都是数字。如果字符是数字 (0-9),则 ::isdigit 函数返回 true,否则返回 false。

<code class="cpp">bool is_digits(const char* str)
{
    return std::all_of(str, str + strlen(str), ::isdigit); // C++11
}</code>

请注意,这两种方法都假设输入字符串或字符指针是 ASCII 字符序列。如果需要非 ASCII 字符,可能需要进行适当的修改。

以上是如何检查 C 字符串和字符指针中的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

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