我正在尝试用c ++编写程序,我需要在字符数组的末尾添加一个字符。在java中,它看起来像这样:
arr[arr.length] = 'C';
或
str += "C";
但是我怎么能在最后和已经存在的字符数组中添加一个字符?任何帮助是极大的赞赏。
答案 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';
其中s
是std::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');