【发布时间】:2019-05-22 01:56:08
【问题描述】:
这是 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"";
非常感谢您的帮助!
【问题讨论】:
-
首选
std::wstring而不是宽字符数组。可移植 C++ 中没有WCHAR类型。那是MS的typedef。 -
我正在尝试,但是我需要将 std::wstring 转换为 BSTR,因为我的发送电子邮件功能使用 BSTR 作为输入...
-
我这样做:std::wstring firstText (L"abc"); std::wstring secondText (L"def"); std::wstring thirdText ( L"" ); thirdText += firstText + L"\r\n" + secondText;但是第三个文本是“abc def”....我做错了吗???所以没有换行...
-
@Abe000 您可以使用
_bstr_t或直接使用SysAllocString()将std::wstring转换为BSTR。此外,std::wstring thirdText ( L"" ); thirdText += firstText + ...应该是std::wstring thirdText = firstText + ...。但是,无论哪种方式,这段代码 sn-p 都无法产生您声称的结果。之后代码中的其他内容必须将换行符转换为空格。可能在您的电子邮件代码中。 -
非常感谢您的帮助。我想我需要浏览整个代码......
标签: c++ visual-c++ newline wchar