使用 C 時,通常需要標記字串,根據分隔符號。 C 函數 strtok() 是標記字串的常用選項,但它需要 char* 輸入,而 std::string 是 C 中的首選字串類型。本文探討了在 std::string 上使用 strtok() 的解決方法。
一種方法是使用 istringstream 物件將 std::string 轉換為字元流,然後可以透過 strtok() 對其進行標記。例如:
#include <iostream> #include <string> #include <sstream> int main() { std::string myText("some-text-to-tokenize"); std::istringstream iss(myText); std::string token; while (std::getline(iss, token, '-')) { std::cout << token << std::endl; } return 0; }
在此範例中,istingstream iss 是根據 std::string myText 建構的。然後使用 std::getline 函數從流中提取標記,使用分隔符號“-”作為分隔符號。每個標記都使用 std::cout 列印到控制台。
回應中提到的另一個選項是使用 Boost 函式庫,它提供更靈活的標記化功能。但是,此解決方案需要在系統上安裝 Boost 程式庫。
以上是如何在 C 中使用 strtok() 標記 std::string ?的詳細內容。更多資訊請關注PHP中文網其他相關文章!