我有一个字符串数组,我想随意修改它的元素。这是代码:
char pieces[9][4] = { " ", " o ", " a ", " ", " ", " ", " b ", " ", " " };
pieces[2] = { " x " };
据我所知,pieces[] 中的元素是字符串文字,因此无法更改(我不确定为什么会这样)。也许可以使用 std::string 或 vector 来解决。但是,我想知道这种操作或非常相似的操作是否可以使用字符串数组来完成。可以只使用一个字符串数组来完成这样的事情吗?
最佳答案
在您的特定情况下,您似乎总是有一些字符被空格包围,因此您可以简单地执行 pieces[2][1] = 'x';
来修改那个元素。然而……
你假设这可以通过 std::string
和 std::vector
变得更容易是正确的,但是因为我们已经知道大小, std::array
在这里可能会更好:
std::array<std::string, 9> pieces = { " ", " o ", " a ", " ", " ", " ", " b ", " ", " " };
pieces[2] = " x ";
您可能会注意到下标运算符仍然适用于 std::array
。这意味着即使你切换到 std::array
,你甚至可能不必在你的其他代码中改变太多(只是处理 c 字符串的部分要处理std::strings
)
关于c++ - 修改字符串数组中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50140435/