how can convert LPCSTR string into LPCTSTR string?
i am trying to convert a LPCSTR
string into LPCTSTR
string. i want to concatenate two string,when i try like this
LPCTSTR str1 = L"Raja"
LPCSTR str2 = "Kumar"
wcscat_s(str1,(LPCTSTR)st开发者_如何学JAVAr2);
i found the o/p like Raja....r(junkvalues)....how can typecast LPCSTR
to LPCTSTR
?
LPCTSTR
can be either plain char or wide characters depending on your project settings. Further, you cannot possibly concatenate a wide string and a plain char string. You need to convert one to a compatible form (wide to multibyte or vice versa) and then concatenate.
Assuming you want the target to be a wide string, you'd need to convert the "Kumar"
to a wide character string. To do this use the MultiByteToWideChar
function with appropriate code page.
Look up this KB article on MSDN and John's link.
MultiByteToWideChar is the only way to go, if your code is compiled with UNICODE.
Alternatively you can do this. 7bits ASCII -> wchar should be easy.
TCHAR str3[256] = { 0 };
for (int i = 0; str2[i] != 0; i++) str3[i] = str2[i];
I tried this it worked:
#include <iostream>
#include <atlstr.h>
using namespace std;
int main()
{
LPCSTR stringToConvert = "My troublesome string";
CString transitionString = stringToConvert;
LPCTSTR myDesiredString = transitionString;
wcout << myDesiredString;
}
精彩评论