確定字串和字元陣列的數量
在C 中,驗證字串或字元陣列(char*) 是否僅包含數字字符是一個共同的要求。讓我們來探索兩種可靠的方法:
方法1:find_first_not_of()
此方法利用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>
方法2:std::all_of()
此方法利用std::all_of() 函數,該函數檢查範圍內的所有元素是否滿足給定謂詞。在本例中,謂詞為::isdigit,對於數字字元傳回true:
<code class="cpp">bool is_digits(const std::string &str) { return std::all_of(str.begin(), str.end(), ::isdigit); // C++11 }</code>
字串和字元陣列的比較
兩種方法同樣適用字串和字元數組。但是,在使用 std::string 成員函數之前,字元陣列需要明確轉換為字串。
以上是C 中如何確定字串或字元陣列是否僅包含數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!