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

时间:2015-04-06 15:15:28

标签: c++ arrays char

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

arr[arr.length] = 'C';

str += "C";

但是我怎么能在最后和已经存在的字符数组中添加一个字符?任何帮助是极大的赞赏。

3 个答案:

答案 0 :(得分:5)

需要注意的重要事项: 数组的大小已修复。

也许您想使用std::string

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

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

yourString.c_str();

答案 1 :(得分:5)

由于您正在使用C ++,因此使用std:string。然后它按预期工作。

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

OR

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

答案 2 :(得分:3)

如果你想要一个模拟字符串的东西,你就可以使用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');