我正在二维数组中输入。即--
forward 50 back 20
我想在简单的 char array[] 中复制“forward”,在 char array[] 中复制“50”(每个 char array[] 中的每个字符串)
我只能将第一个元素存储在第一个数组中。
我尝试存储“space”的索引,然后存储整数值,直到在二维数组中找到“另一个空格”\n”,但它仅在我运行循环的所有字符数组中存储第一个字符串(向前)在... 这是我正在检查的代码。
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';
最佳答案
从您的评论来看,这似乎实际上应该是一个 C 问题,而不是一个 C++ 问题。
但既然这无论如何都是家庭作业,也许看到 C++11 解决方案会让你朝着正确的方向前进。
const char* arr[]{"forward ", "50 ", "back ", "20"};
const string check = accumulate(cbegin(arr), cend(arr), string());
此后检查
将包含“forward 50 back 20”。
关于c++ - 如何将二维数组的字符串转换为每个字符数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27241420/