首頁 > 後端開發 > C++ > 如何在 C 中使用 strtok() 標記 std::string ?

如何在 C 中使用 strtok() 標記 std::string ?

Susan Sarandon
發布: 2024-11-08 16:19:02
原創
724 人瀏覽過

How can I tokenize a std::string using strtok() in C  ?

使用 strtok() 標記 std::string

使用 C 時,通常需要標記字串,根據分隔符號。 C 函數 strtok() 是標記字串的常用選項,但它需要 char* 輸入,而 std::string 是 C 中的首選字串類型。本文探討了在 std::string 上使用 strtok() 的解決方法。

使用 Istringstream 進行標記化

一種方法是使用 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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板