在 VC++ 2005 中将 crlf 添加到 WCHAR *

adding crlf to WCHAR * in VC++ 2005

这是 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"";

非常感谢您的帮助!

您可以像处理非 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 中。)