首頁 >後端開發 >C++ >如何在 C 中複製 Python 的startswith() 和子字串到整數功能?

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

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-03 06:19:03420瀏覽

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

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

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

檢查前綴字串是否存在

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

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

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

將子字串轉換為整數

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

<code class="cpp">if (s.rfind("--foo=", 0) == 0) {
    int foo_value = std::stoi(s.substr(strlen("--foo=")));
}</code>

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

更新:Boost 整合

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

以上是如何在 C 中複製 Python 的startswith() 和子字串到整數功能?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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