首先请原谅我的英语不好。
我有一个生成 LPCSTR 值列表的函数,我想将它们中的每一个都添加到list<LPCSTR>
or vector<LPCSTR>
,这是我的示例代码:
vector<LPCSTR> output={}; // or list<LPCSTR>
...
for (....)
{
auto anItem = static_cast<LPSTR>(malloc(20));
sprintf_s(anItem, 20, "string format", values...);
output.push_back(anItem);
/* The problem */
} //free(anItem); when i free the allocated memory of anItem then added item to output was being corrupt !
如果我释放分配的内存,则数据已损坏,否则我有大量未使用的内存!auto anItem = static_cast<LPSTR>(malloc(20));
如果我在循环之前减速,那么添加到的所有项目ouput
都是当前的值anItem
!我有一个只有一个值的列表/向量!!!
请帮助我!>谢谢