在 C 中檢查僅數字字串
確定字串或 char* 是否僅包含數字是程式設計中的常見任務。本文探討了兩種有效的方法:
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 以上)
此方法利用謂詞來檢查字串的每個字元。在本例中,謂詞為 ::isdigit,它對於數字字元傳回 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中文網其他相關文章!