如何将2D数组的字符串转换为每个char数组?

时间:2014-12-02 03:35:09

标签: c++ c arrays

我正在2D-Array中输入。即 -

forward 50 back 20

我想复制"转发"在简单的char数组[]," 50" in char array [](每个char数组[]中的每个字符串)

我只能在第一个数组中存储第一个元素。

我试过存储"空间"的索引。然后存储整数值,直到"另一个空格" \ n"在2d-array中找到,但它只存储了所有char数组中的第一个字符串(forward),我在循环中运行...  这是我正在检查的代码。

for (int j=0; arr[1][j] != ' '; j++)
{
    check[m] = arr[1][j];
    m++;
}

check[m] = '\0';
int k = 0;
cout << check << endl;

if (arr[1][m] == ' ')
{
    for (;arr[1][m] == ' ';)
    {
        m++;

        cout << arr[1][m];
        value[k] = arr[1][m];
        k++;
    }
 }
 value[k] = '\0';

1 个答案:

答案 0 :(得分:1)

从你的评论看来,这似乎应该是一个C问题而不是C ++问题。

但是既然这是作业,或许看到C ++ 11解决方案会让你朝着正确的方向前进。

const char* arr[]{"forward ", "50 ", "back ", "20"};
const string check = accumulate(cbegin(arr), cend(arr), string());

此后check将包含“前50后20”。

Live Example