」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 C++ 中複製 Python 的startswith() 和子字串到整數功能?

如何在 C++ 中複製 Python 的startswith() 和子字串到整數功能?

發佈於2024-11-08
瀏覽:372

How can I replicate Python\'s startswith() and substring-to-integer functionality in C  ?

在C 中檢查前綴字串是否存在並將子字串轉換為整數

使用者尋求有關實作Python 字串前綴檢查和子字串轉換的指導在C 。具體來說,他們的目標是實現Python的startswith()方法以及子字串轉換為整數的功能。

檢查前綴字串是否存在

檢查C字串是否開始使用特定前綴,利用搜尋位置為零的 rfind() 方法。例如:

std::string s = "tititoto";
if (s.rfind("titi", 0) == 0) {
  // s starts with "titi"
}

透過將搜尋位置設為零,rfind() 方法只檢查字串的開頭。這樣可以實現高效、準確的前綴匹配。

將子字串轉換為整數

要將子字串轉換為整數,請使用stoi() 函數:

if (s.rfind("--foo=", 0) == 0) {
    int foo_value = std::stoi(s.substr(strlen("--foo=")));
}

此程式碼檢查“--foo=”前綴,如果找到,則提取從其末尾(“=”字元之後)開始的子字串,並使用 stoi() 將其轉換為整數。

更新:Boost 整合

使用者表示不願意使用 Boost。但是,如果需要,他們可以免費使用它。 Boost 提供了額外的字串操作功能,包括其 Spirit 函式庫中的starts_with() 和 stoi() 功能。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3