標記字串是程式設計中的基本操作。然而,當使用像 strtok() 這樣需要 char* 字串的 C 函數時,直接標記 std::string 可能會遇到挑戰。
要將 strtok() 與 std::string 結合使用,一種選擇是使用 .c_str() 將其轉換為 const char*。然而,這可能並不總是理想的,因為它提供了字串的唯讀表示。
更合適的解決方案是利用 std::istringstream 而不是 strtok( )。 std::istringstream 允許對 std::string 進行基於流的標記化。以下是範例:
此程式碼從std::string 建立一個std::istringstream 並從中讀取標記,直到遇到指定的分隔符號(在本例中為「-」) 。
對於更高級的標記化功能,Boost 等庫提供了全面的解決方案,與strtok().
以上是如何使用 C 函數對 `std::string` 進行標記?的詳細內容。更多資訊請關注PHP中文網其他相關文章!