c++怎么实现类似c#的string.Join方法
时间: 2024-02-27 18:52:32 浏览: 128
在 C++ 中,你可以使用 `std::ostringstream` 类来实现类似 C# 的 `string.Join` 方法。
以下是一个示例代码,实现了 `string.Join` 方法的功能:
```c++
#include <iostream>
#include <sstream>
#include <vector>
using namespace std;
string join(const vector<string>& v, const string& delim) {
ostringstream os;
auto iter = v.begin();
if (iter != v.end()) {
os << *iter++;
}
while (iter != v.end()) {
os << delim << *iter++;
}
return os.str();
}
int main() {
vector<string> v = {"apple", "banana", "orange", "peach"};
string delim = ", ";
string s = join(v, delim);
cout << s << endl;
return 0;
}
```
该程序首先定义了一个 `join` 函数,该函数接收一个字符串向量和一个分隔符作为参数,将向量中的所有字符串按照分隔符连接成一个字符串,返回连接好的字符串。
在函数内部,我们使用 `std::ostringstream` 类来将字符串连接起来。我们首先将向量中的第一个字符串插入到 `ostringstream` 类中,然后遍历向量中的其余字符串,并在它们之间插入分隔符。最后,我们将 `ostringstream` 中的字符串返回。
在主函数中,我们定义了一个字符串向量 `v` 和一个分隔符 `delim`,然后调用 `join` 函数将向量中的所有字符串连接起来,并将结果打印出来。
输出结果如下:
```
apple, banana, orange, peach
```
希望可以帮到你!
阅读全文