如何在字符数组的末尾添加一个字母?

How can I add a letter onto the end of a character array?

我正在尝试用 C++ 编写程序,我需要在字符数组的末尾添加一个字符。在 java 中,它看起来像这样:

arr[arr.length] = 'C';

str += "C";

但是我怎样才能在已经存在的字符数组的末尾添加一个字符呢?任何帮助是极大的赞赏。

如果你想要模拟字符串的东西,那么你会使用 std::string 而不是数组,你会做类似

的事情
s += 'C';

其中 sstd::string。例如,

#include <string>

int main()
{
  std::string s = "abcdefgh";
  s += 'C';
}

如果你想要更像 char 的缓冲区,你可以使用 std::vector:

std::vector<char> v = {'a', 'b', 'c'};

您可以使用 push_back():

添加元素到末尾
v.push_back('C');

重要提示: 数组的大小是固定的。

也许您想使用 std::string?

std::string yourString = "...";
yourString += 'C';

如果您确实需要 C 风格的字符串(类似于 char 数组),请使用 .c_str().

yourString.c_str();

由于您使用的是 C++,因此请使用 std:string。然后就如你所愿了。

std::string s("a test string");
s += " with appended data";

OR

std::string s("a test string");
s += '!'; // Append single character