首頁  >  文章  >  後端開發  >  如何使用 std::getline() 在 C 中使用標記分割字串?

如何使用 std::getline() 在 C 中使用標記分割字串?

Linda Hamilton
Linda Hamilton原創
2024-11-19 11:41:03598瀏覽

How can std::getline() be used to split strings with tokens in C  ?

使用getline() 來分割帶有標記的字串

在C 中處理字串時,有必要將它們分割成更小的段關於特定的分隔符號。實現此目的的常見方法是使用 std::getline() 函數,它提供了一種靈活的方法來根據標記化分隔符號提取子字串。

在給定的場景中,我們有一個由分隔的單字組成的字串通過分號,我們可以使用 std::getline() 有效地將字串拆分為單獨的組件。以下程式碼片段示範如何實現這一點:

#include <sstream>
#include <iostream>
#include <vector>

using namespace std;

int main() {
    vector<string> strings;
    istringstream f("denmark;sweden;india;us");
    string s;    
    while (getline(f, s, ';')) {
        cout << s << endl;
        strings.push_back(s);
    }
}

在此程式碼中,我們首先建立一個向量來儲存分割字串。然後,我們將目標字串「denmark;sweden;india;us」傳遞給 istringstream 對象,該物件允許我們將字串視為流。

關鍵操作是使用 getline() 來提取子字串直到到達流的末端。 getline() 函數採用三個參數:輸入流、對儲存提取的子字串的字串的參考、分隔符號。在本例中,我們使用分號作為分隔符號來分割每次出現的字串。

在循環內,我們透過呼叫 getline() 來檢索每個子字串並將其儲存在字串變數 s 中。然後,我們輸出子字串進行確認,並將其新增至字串向量中進行進一步處理。

透過遵循這種方法,我們可以根據標記或分隔符號有效地分割字串,從而更容易根據需要處理各個片段.

以上是如何使用 std::getline() 在 C 中使用標記分割字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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