这是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中。)

09-27 06:06