C の文字列または char* が数字だけで構成されているかどうかを確認する方法
質問:
C では、指定された文字列または char* に数字のみが含まれているかどうかを判断することはできますか?もしそうなら、どのようにして最初の非数字文字を見つければよいのでしょうか?また、同様の方法が両方のタイプに適用されますか?
答え:
はい、複数の手法があります。 string または char* が数字のみで構成されているかどうかを評価します。以下に 2 つの考えられるアプローチを示します。
このメソッドは、数字以外の文字が最初に出現するかどうかをチェックします。入力。結果が 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 の String または char* に数字のみが含まれているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。