0

我想使用大小可以动态变化的字符串或字符变量。不需要指定大小,在代码中可以添加一个单元格并将新字符插入到单元格中。我将此代码用于此操作:
char *align_A = (char*)malloc(lenMax*sizeof(char));
是否有另一种方式我不需要指定大小(在此处lenMax),当我想将新字符添加到数组或内存时,动态添加一个单元格并将 char 字符插入其中。我可以用string这个动作吗?
例如:首先添加到 alignA,A字符,用于B更改内存或数组的下一个字符大小并将 B 添加到 and ...

4

3 回答 3

7

由于您使用 C++ 而不是 C,因此请使用std::stringor std::vector,它们会让您的生活更轻松,因为它们专为您描述的任务而设计。

如果你真的想坚持char *,那么检查 C 风格的realloc功能。

于 2013-05-06T06:54:25.400 回答
0

您可以std::string push_back为此目的使用方法。它直接将一个新字符附加到字符串的末尾。std 库本身处理内存问题

于 2013-05-06T06:55:27.150 回答
0

您需要动态创建数组并从堆中获取内存。您可以使用new命令或malloc. 它将在堆上分配内存,但在正常定义中创建数组将使用堆栈内存。

于 2013-05-06T06:58:51.167 回答