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