我有一个数组,但是我想在末尾添加一些内容,而不覆盖已经存在的数据。它必须是数组,而不是向量,因为这是一个任务。
从评论中看来,您不想将数据添加到数组的末尾,而是部分填充数组并跟踪您写入了多少数据。您只需要一个变量来跟踪:
char array[10];
size_t size = 0;
// Add characters:
array[size++] = 'H';
array[size++] = 'e';
array[size++] = 'l';
array[size++] = 'l';
array[size++] = 'o';
您需要确保永远不要超出数组的末尾,否则会破坏其他内存。
C++数组不能扩展。你要么需要让原始数组更大并维护有效元素数量的单独变量,要么创建一个新的(更大的)数组并复制旧内容,接着添加想要添加的元素。
x[10]
这样是固定大小的数组,那么你肯定无法扩展它。你需要使用new[]
动态分配数组;当需要增长时,分配一个新的数组,将数据复制过去,然后删除旧的数组。 - Mike Seymour