首頁 >後端開發 >C++ >C 中如何確定字串或字元陣列是否僅包含數字?

C 中如何確定字串或字元陣列是否僅包含數字?

Susan Sarandon
Susan Sarandon原創
2024-11-02 17:21:03306瀏覽

How to Determine if a String or Character Array Contains Only Digits in C  ?

確定字串和字元陣列的數量

在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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn