Как сохранить процентные знаки (%) при копировании из LPCTSTR в LPTSTR? - PullRequest
0 голосов
/ 21 ноября 2018

Я новичок в этом, и после большого разочарования у меня наконец-то хватило смелости спросить всех вас, настоящих профессионалов.

Мне нужно сохранить все процентные знаки (%), которые я получаюиз LPCTSTR, когда я копирую его в LPTSTR.После некоторых исследований и попыток я пришел с этим:

LPCTSTR lpRemapping; // Contains a string with percents (%) in it
size_t nSize = _tcsclen(lpRemapping) + 1;
LPTSTR lpBuffer = new TCHAR[nSize];
errno_t nResult = _tcsncpy_s(lpBuffer, nSize, lpRemapping, ((size_t)-1));
for (int currentChar = 0; currentChar < nSize; currentChar++) {
    if (lpRemapping[currentChar] == '%') {
        lpBuffer[currentChar] = '%%';
    }
}

Но, похоже, я все еще теряю знаки процента в процессе.Я прочитал много ответов, в которых говорится, что я использую %%, но я делаю что-то здесь не так и не знаю, что это такое.

Я не контролирую полученную строку, и некоторые из них будутопределенно содержит знак процента (%).

Я очень ценю ваше время и надеюсь, что вы можете пролить свет на этот вопрос.

...