如何在字符数组的末尾添加一个字母?
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';
其中 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');
重要提示: 数组的大小是固定的。
也许您想使用 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
我正在尝试用 C++ 编写程序,我需要在字符数组的末尾添加一个字符。在 java 中,它看起来像这样:
arr[arr.length] = 'C';
或
str += "C";
但是我怎样才能在已经存在的字符数组的末尾添加一个字符呢?任何帮助是极大的赞赏。
如果你想要模拟字符串的东西,那么你会使用 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');
重要提示: 数组的大小是固定的。
也许您想使用 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