插入向量后,删除对WSTRING的引用



我有一个接受lpctstr的向量,并通过引用WSTRING(WS1)插入值。问题是每当WS1更改其值时,先前已插入的值也会变化。任何建议如何在插入向量后删除对WS1的引用?

const char* attributeoffile = file->Attribute("Method");
vecFileConsolidateParams.push_back(FILECONSOLIDATEPARAMS());
size_t size = strlen(attributeoffile)+1;
std::wstring ws1;
ws1.resize(size, L'');
#pragma warning (disable : 4996 )
std::mbstowcs(&ws1[0], attributeoffile, size);
vecFileConsolidateParams[count].filemethod = &ws1[0] ;

将其修复。使用了新运算符,Wmemset和Wmemcpy。

TCHAR *tc0 = new TCHAR[size0];
tc0[size0] = { L'' };
wmemcpy(tc0, &ws0[0], size0);
.
.
.
vecFileConsolidateParams[count].filename = tc0;
delete [] tc0;

最新更新