使用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中文網其他相關文章!