C での数字のみの文字列のチェック
文字列または char* に数字のみが含まれているかどうかを判断することは、プログラミングにおける一般的なタスクです。この記事では、次の 2 つの効率的なアプローチについて説明します。
1. find_first_not_of
の使用 このメソッドは文字列を反復処理して、最初の非数字文字を検索します。何も見つからない場合 (find_first_not_of("0123456789") は 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 の使用 (C 11 以降)
このメソッドは述語を利用して文字列の各文字をチェックします。この場合、述語は ::isdigital で、数字文字に対して true を返します:
<code class="cpp">bool is_digits(const std::string &str) { return std::all_of(str.begin(), str.end(), ::isdigit); // C++11 }</code>
関数は文字列と char* の両方に適用されますか?
はい、これらの関数は少し変更を加えれば std::string と char* の両方に使用できます。 char* の場合、std::string コンストラクターを使用して char* を std::string:
<code class="cpp">bool is_digits(const char *str) { std::string str_copy(str); return is_digits(str_copy); }</code>
以上がC で文字列または char* に数字のみが含まれているかどうかを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。