📜  如何在 C++ 中合并字符串数组(1)

📅  最后修改于: 2023-12-03 15:08:34.934000             🧑  作者: Mango

如何在 C++ 中合并字符串数组

在 C++ 中,我们可以使用以下方法来合并字符串数组:

方法一

可以使用 std::stringstream 类来连接字符串,该类提供了一个方便的接口来将多个字符串连接成为一个字符串。

#include <iostream>
#include <sstream>
#include <string>

int main() {
  std::string arr[] = {"Hello", " ", "World!", " ", "From", " ", "C++", "."};

  std::stringstream ss;

  for (const auto& s : arr) {
    ss << s;
  }

  std::cout << ss.str() << std::endl;

  return 0;
}

这段代码将输出 Hello World! From C++.

方法二

可以使用 std::accumulate 函数来连接字符串。

#include <iostream>
#include <numeric>
#include <string>

int main() {
  std::string arr[] = {"Hello", " ", "World!", " ", "From", " ", "C++", "."};

  std::string combined_str =
      std::accumulate(std::begin(arr), std::end(arr), std::string());

  std::cout << combined_str << std::endl;

  return 0;
}

这段代码将输出 Hello World! From C++.

方法三

可以使用 std::copy 函数将字符串数组中的字符串复制到一个单独的字符串中。

#include <iostream>
#include <algorithm>
#include <string>

int main() {
  std::string arr[] = {"Hello", " ", "World!", " ", "From", " ", "C++", "."};
  const size_t num_elems = sizeof(arr) / sizeof(*arr);

  std::string combined_str;

  std::copy(std::begin(arr), std::end(arr),
            std::back_insert_iterator(combined_str));

  std::cout << combined_str << std::endl;

  return 0;
}

这段代码将输出 Hello World! From C++.

以上三种方法都可以将字符串数组中的字符串连接成一个字符串。您可以根据您的需求选择使用哪种方法。

希望这篇文章对你有所帮助!