如何验证 C 字符串或 char* 是否只包含数字
问题:
在 C 中,是否可以确定给定的字符串或 char* 是否只包含数字字符?如果是这样,我们如何找到第一个非数字字符,以及类似的方法是否适用于这两种类型?
答案:
是的,有多种技术可以评估字符串或 char* 是否仅由数字组成。这里有两种可能的方法:
此方法检查非数字字符在输入。如果结果是 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 算法来测试输入中的每个字符是否满足特定条件,在本例中是测试它是否是数字。
<code class="cpp">bool is_digits(const std::string &str) { return std::all_of(str.begin(), str.end(), ::isdigit); }</code>
对两种类型的应用:
上面讨论的方法可以用于 std::string 和 char 类型。然而,在使用 char 时确保正确的转换或初始化至关重要,以保持数据表示的一致性并防止意外行为。
以上是如何确定 C 字符串或 char* 是否仅包含数字?的详细内容。更多信息请关注PHP中文网其他相关文章!