首頁 > 後端開發 > C++ > 如何使用 std::getline() 在 C 中將字串拆分為標記?

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

Barbara Streisand
發布: 2024-11-20 16:38:11
原創
786 人瀏覽過

How to Split a String into Tokens in C   Using std::getline()?

使用C std::string 分離字串標記

這個問題解決了將C std::string 拆分為多個標記的挑戰,特別是使用分隔符號“;”。雖然一些建議的解決方案涉及 Boost 等外部函式庫,但該專案的指南禁止使用它們。因此,我們探索一種使用 C 標準函式庫的更直接的方法。

一個有效的方法是利用 std::getline() 函數,它在指定分隔符號方面提供了多功能性。在這種情況下,我們可以如下實現標記化過程:

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

using namespace std;

int main() {
    vector<string> strings; // Vector to store split strings
    istringstream f("denmark;sweden;india;us"); // Input stringstream
    string s; // Variable to store individual strings

    while (getline(f, s, ';')) {
        cout << s << endl; // Display split string
        strings.push_back(s); // Store string in vector
    }
}
登入後複製

在此實作中,我們從輸入字串「denmark;sweden;india;us」建立一個字串流。 std::getline() 函數用於迭代字串流並檢索由“;”分隔的標記。分隔符號。每個檢索到的標記都會被列印並添加到字串向量中以供進一步處理。

透過採用這種方法,我們可以在不依賴外部函式庫的情況下實現輸入字串的所需標記化,並遵循指定的準則。

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

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