-
February 14th, 2003, 03:50 AM
#1
C++ String: How to convert between 'CString' and 'std::string'?
Q: How to convert between 'CString' and 'std::string'?
A:
'CString' to 'std::string':
Code:
CString cs("Hello");
std::string s((LPCTSTR)cs);
'std::string' to 'CString':
Code:
std::string s("Hello");
CString cs(s.c_str());
Last edited by Andreas Masur; July 24th, 2005 at 11:14 AM.
-
May 14th, 2006, 08:20 AM
#2
Re: C++ String: How to convert between 'CString' and 'std::string'?
Originally Posted by Gabriel Fleseriu
'CString' to 'std::string':
Code:
CString cs("Hello");
std::string s((LPCTSTR)cs);
std::string cannot always construct from a LPCTSTR i.e. the code will fail for UNICODE builds.
As std::string can construct only from LPSTR / LPCSTR, a programmer who uses VC++ 7.x or better can utilize conversion classes such as CT2CA as an intermediary.
Like this -
Code:
CString cs ("Hello");
// Convert a TCHAR string to a LPCSTR
CT2CA pszConvertedAnsiString (cs);
// construct a std::string using the LPCSTR input
std::string strStd (pszConvertedAnsiString);
Last edited by Siddhartha; July 14th, 2006 at 10:56 AM.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|