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>
Char ポインターベースのメソッド
文字ポインターの場合、 std::all_of() 関数と ::isdigital 関数を使用して、ポインター内のすべての文字が数字であるかどうかを確認できます。 ::isdigital 関数は、文字が数字 (0 ~ 9) の場合は 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 の文字列と Char ポインタの数字をチェックするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。