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