我有一个char *数组,我想将每两个连续的索引相加并将其存储在另一个数组中。例如,功能应该是这样的

  char* wordsArray="The quick brown fox.";
  char* array;
  array=new char[size-1];       \\assume size is a declared variable
  for(int i=0; i<size-1; i++)
       array[i]=wordsArray[i]+wordsArray[i+1];

现在,数组在第一个索引上将具有“快速”,在第二个索引上将具有“快速棕色”,而在第三个索引上将具有“棕狐”。
做这种事情的正确方法是什么?

编辑:假设我们不能使用内置的STL类和算法( vector 等)

最佳答案

您可以使用std::vectorstd::string轻松完成此操作。

#include <iostream>
#include <vector>

int main()
{
    std::vector<std::string> wordsArray = {"The", "quick", "brown", "fox."};
    std::vector<std::string> array;
    int size = wordsArray.size();

    for(int i=0; i<size-1; i++)
       array.push_back(wordsArray[i]+ " " + wordsArray[i+1]);

    for(int i=0; i<size-1; i++)
       std::cout << array[i] << "\n";

    return 0;
}

输出:
The quick
quick brown
brown fox.

09-06 13:08