Попробуйте прочитать это .
Там вы можете найти некоторые предложения о том, как получить то, что вы хотите. Например. Вы можете использовать этот фрагмент:
int sizeOfString = custompath.GetLength(); // as in the example
size_t destsize = sizeOfString + strlen(one) + 1;
LPTSTR lpsz = new TCHAR[ destsize ];
_tcscpy_s(lpsz, destsize, theString);
_tcscpy_s(lpsz + sizeOfString, strlen(one)+1, one);
CString completePath(lpsz);
Тогда вы можете удалить lpsz, если он вам больше не нужен. Или, скорее, вы могли бы сделать что-то вроде следующего, из идеи (просто идея) в разделе Непосредственное изменение содержимого CString :
LPTSTR pBuf = custompath.GetBufferSetLength(custompath.GetLength() + strlen(one) + 1);
_tcscpy_s(pBuf + custompath.GetLength(), strlen(one) + 1, one);
custompath.ReleaseBuffer();