C の文字列と char* 変数の数値文字コンテンツのチェック
C で文字列を扱う場合、多くの場合、次のことを確認する必要があります。指定された文字シーケンスには数字のみが含まれます。これはさまざまな方法を使用して実現できますが、それぞれに独自の長所と欠点があります。
std::string オブジェクトの場合、1 つのアプローチは std::find_first_not_of() 関数を利用することです。この関数は、入力で指定された文字のいずれにも一致しない文字列内の最初の文字を検索します。数字のみを含む文字列 (例: "0123456789") を渡すことで、入力文字列に数字以外の文字が含まれているかどうかを判断できます。
<code class="cpp">bool is_digits(const std::string &str) { return str.find_first_not_of("0123456789") == std::string::npos; }</code>
または、両方の std:: string 変数と char* 変数を使用できます。 std::all_of() 関数。この関数は、要素の範囲と述語 (各要素のブール値を返す関数) を受け取ります。数字に対して true を返す ::isdigital() 述語を適用することで、シーケンス内のすべての文字がこの条件を満たすかどうかを検証できます。
<code class="cpp">bool is_digits(const std::string &str) { return std::all_of(str.begin(), str.end(), ::isdigit); // C++11 }</code>
これらのメソッドは、数字の内容をチェックする効率的な方法を提供します。 std::string 変数と char* 変数の両方で。どのアプローチを選択するかは、開発者の特定の要件と好みによって異なります。
以上がC 文字列および char* 変数内の数値文字の内容を確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。