继承了一些看起来像 c++ 或 .Net 的代码?这不在我的驾驶室里。无论如何,通过使用堆内存然后一遍又一遍地重新分配本地内存,它会发生内存泄漏:
CPTRecord* pRec = static_cast<CPTRecord*>(pData);
// Remove channel # from end of test name
CString testName = pRec->m_stdf.test_txt;
int strIndex = testName.ReverseFind(' ');
if (strIndex != -1)
{
testName.Delete(strIndex,9);
pRec->m_stdf.test_txt = (char *)LPCTSTR(testName);
pRec->m_stdf.test_txt_size = testName.GetLength();
}
我不确定如何转换指针,或者使用memcpy
而不是使用分配(char *)LPCTSTR