使用std::string 的rfind 重載來檢查前綴並將子字串轉換為Int
確定C std::string是否開始使用特定字串並將子字串轉換為整數,您可以利用重載的rfind 函數。
檢查字串前綴
使用接受搜尋的 rfind 重載位置參數(pos)。將此參數設為零將搜尋限制為字串的開頭:
<code class="cpp">std::string s = "tititoto"; if (s.rfind("titi", 0) == 0) { // The string s starts with the "titi" prefix. }</code>
將子字串轉換為Int
提取已知前綴後的子字串並轉換如果將其轉換為整數,則可以使用rfind 和substr 的組合:
<code class="cpp">std::string arg = "--foo=98"; size_t pos = arg.rfind("--foo="); if (pos != std::string::npos) { std::string fooValue = arg.substr(pos + len("--foo=")); int value = std::stoi(fooValue); }</code>
在此範例中,如果arg 為“--foo=98”,則變數值將被分配整數值98。
STL 優勢
這種方法避免了對 Boost 等外部庫的需要。它利用 STL 提供的標準字串操作,實現簡單且高效。
C 20 簡化
在C 20 及更高版本中,std:: string 和std::string_view 類別引入了starts_with方法,這使得檢查前綴變得更簡單:
<code class="cpp">std::string s = "tititoto"; if (s.starts_with("titi")) { // The string s starts with the "titi" prefix. }</code>
以上是如何使用 std::string\ 的 rfind 檢查前綴並將子字串轉換為整數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!