добавление crlf в WCHAR * в VC ++ 2005 - PullRequest
0 голосов
/ 21 декабря 2018

это VC ++ 2005: Как я могу добавить WCHAR * "firstText" и другой WCHAR * "secondText" в другой WCHAR * "thirdText" с CRLF "\ r \ n" между ними?

WCHAR firstText [100] = L"First line";

WCHAR secondText [100] = L"Second line";

WCHAR thirdText [500] = L"";

Ваша помощь высоко ценится!

1 Ответ

0 голосов
/ 21 декабря 2018

Вы можете сделать то же самое, что и со строками, отличными от W, но с использованием широкоформатных версий функций, например (не проверено)

int thirdTextMax = (sizeof(thirdText)/sizeof(thirdText[0]));
swprintf(thirdText, thirdTextMax, L"%s\r\n%s", firstText, secondText);

или

int firstTextLen = wcslen(firstText);
wcsncpy(thirdText, firstText, thirdTextMax);
wcsncpy(thirdText + firstTextLen, L"\r\n", thirdTextMax - firstTextLen);
wcsncpy(thirdText + firstTextLen + 2, secondText, thirdTextMax - firstTextLen - 2);

(Существуют также версии этих функций _s, которые должны быть особенно осторожны при переполнении буферов, но я не могу вспомнить, есть они в VC2005 или нет.)

...