2015-04-06 178 views
0

我想在C++中创建一个程序,我需要在字符数组的末尾添加一个字符。在java中它会是这个样子:如何将字母添加到字符数组的末尾?

arr[arr.length] = 'C'; 

str += "C"; 

,但我怎么能增加一个字符的结束和字符的现有阵列?任何帮助是极大的赞赏。

+0

如果你想操作字符串,使用'std :: string'而不是'char []'。如果您想了解C++中的数组,请创建一个更长的数组,然后复制内容并添加新元素。 (我似乎是这里唯一认为在将它们委托给标准容器之前学会使用数组非常重要的人之一。) – Beta

回答

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 
+0

谢谢,这很有帮助 – pokeyOne

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'); 
+0

谢谢,这有帮助。 – pokeyOne

5

重要提示:阵列的大小是固定的。

也许你想使用std::string

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

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

yourString.c_str(); 
相关问题