调整 2D 变量 C++ 的大小

Resize 2d variable c++

本文关键字:C++ 2D 变量 调整      更新时间:2023-10-16

我正在使用C++ CURL库发送电子邮件。

我的问题是我电子邮件中的文本可能会不时变化,所以我需要更改大小或动态重新分配我的变量:

const char *payload_text[10]

其中 10 可能是 20 甚至 30 如何在程序中更改此变量的大小?

顺便说一下,这个变量必须分配,因为我正在使用CURL库中的示例: https://curl.haxx.se/libcurl/c/smtp-mail.html

每当您面对可能需要更改大小的数据结构时,您都应该考虑std::vector.

在这种特定情况下,std::vector<std::string>>是您想要/需要的。

要将向量传递给需要 C 样式数组和大小的传统 API,请将其传递std::vector::data()std::vector::size()。向量保证使用连续内存,就像 C 样式数组一样,因此两者可以很好地互操作。

谢谢 它实际上只适用于具有相同问题的其他人的一些要点: 在函数payload_source更改行:

data = payload_text.at(upload_ctx->lines_read)

我害怕做什么,并在您将填充电子邮件数组的代码正文中执行以下操作:

payload_text.push_back(char_array)

向量本身应该是:

vector <const char*> payload_text

再次非常感谢大家