We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you a podcast all about Citrix Workspace, moving to the cloud, and analytics & intelligence. Episode 2 coming soon!Listen Now

x

Convert Unicode CString to STL::string

sparkythedog
sparkythedog asked
on
Medium Priority
4,508 Views
Last Modified: 2013-11-20
How to convert an Unicode CString to STL::string?

Thanks
Comment
Watch Question

jkr
CERTIFIED EXPERT
Top Expert 2012

Commented:
If you need an ANSI string:

CString strUni = L"Test";

size_t len = strUni.GetLength() + 1;
char* psz = new char[len];
wcstombs(psz,(LPCTSTR)strUni,len);

std::string str = psz;

delete [] psz;

Author

Commented:
Hi there,
thanks for your reply

I need the STL string to contain the UNICODE string from CString.

Thanks
CERTIFIED EXPERT
Top Expert 2012
Commented:
No problem:

CString strUni = L"Test";
std::wstring wstr = (LPCTSTR) strUni;

'wstring' is the UNICODE version of a STL string.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.