如何在c ++数组的末尾添加一些东西?

时间:2013-02-04 10:01:54

标签: c++ arrays

我有一个数组,但我想在最后添加一些内容,而不会覆盖任何已经存在的数据。它必须是一个数组而不是一个向量,因为它是一个赋值。

3 个答案:

答案 0 :(得分:11)

从评论中,听起来您不想添加到数组的末尾,而是部分填充数组并跟踪您编写的数据量。你只需要一个变量来跟踪它:

char array[10];
size_t size = 0;

// Add characters:
array[size++] = 'H';
array[size++] = 'e';
array[size++] = 'l';
array[size++] = 'l';
array[size++] = 'o';

你需要确保你永远不会超越数组的末尾,否则你将破坏其他内存。

答案 1 :(得分:4)

C ++数组不可扩展。您需要使原始数组更大并在单独的变量中保持有效元素的数量,或者创建一个新的(更大的)数组并复制旧内容,然后是要添加的元素。

答案 2 :(得分:1)

您可以创建大于第一个的其他数组并复制所有元素,然后在数组末尾添加新元素。

或者你可以将数组转换为vector,添加一个元素然后将vector转换回数组。 看一眼: How to convert vector to array in C++What is the simplest way to convert array to vector?