检查 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中文网其他相关文章!