當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


C++ boost::algorithm::join()用法及代碼示例


Boot.StringAlgorithms 庫提供了許多用於字符串操作的函數。該字符串可以是 std::string、std::wstring 類型或類模板 std::basic_string 的任何實例。

升壓::算法:join():

C++ boost 庫中的join() 函數包含在庫“boost/algorithm/string” 中。該函數用於通過在字符串之間添加分隔符將兩個或多個字符串連接成一個長字符串。要連接的字符串在類似字符串向量的容器中提供。常用的容器是 std::vector<std::string>、std::list<boost::iterator_range<std::string::iterator>。

用法:

join(container, separator)

參數:

  • container:它包含所有必須連接的字符串。
  • separator:它是一個分隔連接字符串的字符串。

示例 1:下麵是實現上述方法的 C++ 程序。

C++


// C++ program for the
// above approach
#include <boost/algorithm/string.hpp>
#include <iostream>
using namespace std;
using namespace boost::algorithm;
// Function to join 2 or more strings
void concatenate(vector<string>& v1)
{
    // Joining the strings with a 
    // whitespace
    string s1 = boost::algorithm::join(v1, " ");
    cout << s1 << endl;
    // Joining the strings with a '$'
    string s2 = boost::algorithm::join(v1, "$");
    cout << s2 << endl;
}
// Driver Code
int main()
{
    // Vector container to hold 
    // the input strings
    vector<string> v1;
    v1.push_back("Geeks");
    v1.push_back("For");
    v1.push_back("Geeks");
    // Function Call
    concatenate(v1);
    return 0;
}


輸出
Geeks For Geeks
Geeks$For$Geeks

示例 2:下麵是實現上述方法的 C++ 程序。

C++


// C++ program for the above approach
#include <iostream>
#include <boost/algorithm/string.hpp>
using namespace std;
using namespace boost::algorithm;
// Function to join 2 or more strings
void concatenate(vector<string>& v1)
{
    // Joining the strings with 
    // the string "..."
    string s1 = boost::algorithm::join(v1, "...");
    cout << s1 << endl;
}
// Driver Code
int main()
{
    // Vector container to hold the 
    // input strings
    vector<string> v1;
    v1.push_back("Geeks");
    v1.push_back("For");
    v1.push_back("Geeks");
    // Function Call
    concatenate(v1);
    return 0;
}


輸出
Geeks...For...Geeks


相關用法


注:本文由純淨天空篩選整理自spp____大神的英文原創作品 boost::algorithm::join() in C++ Library。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。